{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "dfa90e70",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import sys\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from numpy import loadtxt\n",
    "import xgboost\n",
    "from sklearn.model_selection import KFold\n",
    "from sklearn.model_selection import cross_val_score\n",
    "from sklearn.model_selection import train_test_split\n",
    "import variable_encode as var_encode\n",
    "from sklearn.metrics import confusion_matrix,recall_score, auc, roc_curve,precision_score,accuracy_score\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.ensemble import AdaBoostClassifier\n",
    "from sklearn.ensemble import GradientBoostingClassifier\n",
    "from sklearn.metrics import cohen_kappa_score\n",
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.metrics import roc_auc_score\n",
    "from sklearn.metrics import roc_curve\n",
    "from xgboost import XGBClassifier\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib\n",
    "matplotlib.rcParams['font.sans-serif']=['SimHei']   \n",
    "matplotlib.rcParams['axes.unicode_minus']=False  \n",
    "import warnings\n",
    "warnings.filterwarnings(\"ignore\") ##忽略警告"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4e17f689",
   "metadata": {},
   "source": [
    "# 读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "b1d779df",
   "metadata": {},
   "outputs": [],
   "source": [
    "data_train_1 = pd.read_excel('最终2018年改变分箱最后19个特征数据的分箱.xlsx')\n",
    "data_test_1 = pd.read_excel('最终2019年-1改变分箱最后19个特征数据的分箱.xlsx')\n",
    "data_test_2 = pd.read_excel('最终2019年-2改变分箱最后19个特征数据的分箱.xlsx')\n",
    "data_test_3 = pd.read_excel('最终2019年-3改变分箱最后19个特征数据的分箱.xlsx')\n",
    "data_test_4 = pd.read_excel('最终2019年-4改变分箱最后19个特征数据的分箱.xlsx')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "ebf96304",
   "metadata": {},
   "outputs": [],
   "source": [
    "data_train_1 = data_train_1.drop(columns = ['mths_since_recent_inq'])\n",
    "data_test_1 = data_test_1.drop(columns = ['mths_since_recent_inq'])\n",
    "data_test_2 = data_test_2.drop(columns = ['mths_since_recent_inq'])\n",
    "data_test_3 = data_test_3.drop(columns = ['mths_since_recent_inq'])\n",
    "data_test_4 = data_test_4.drop(columns = ['mths_since_recent_inq'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "7d8d57e9",
   "metadata": {},
   "outputs": [],
   "source": [
    "    ####取出训练数据与测试数据\n",
    "var_all = list(data_train_1.columns)\n",
    "var_all.remove('loan_status')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "6b8a91bf",
   "metadata": {},
   "outputs": [],
   "source": [
    "scaler = StandardScaler().fit(data_train_1[var_all])\n",
    "data_train_1[var_all] = scaler.transform(data_train_1[var_all])  \n",
    "data_test_1[var_all] = scaler.transform(data_test_1[var_all])\n",
    "\n",
    "x_train = np.array(data_train_1[var_all])\n",
    "y_train = np.array(data_train_1.loan_status)\n",
    "    \n",
    "x_test_1 = np.array(data_test_1[var_all])\n",
    "y_test_1 = np.array(data_test_1.loan_status)\n",
    "\n",
    "x_test_2 = np.array(data_test_2[var_all])\n",
    "y_test_2 = np.array(data_test_2.loan_status)\n",
    "\n",
    "x_test_3 = np.array(data_test_3[var_all])\n",
    "y_test_3 = np.array(data_test_3.loan_status)\n",
    "\n",
    "x_test_4 = np.array(data_test_4[var_all])\n",
    "y_test_4 = np.array(data_test_4.loan_status)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "467565cc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 0, 0, ..., 0, 1, 0], dtype=int64)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_test_1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3ec46a59",
   "metadata": {},
   "source": [
    "# 模型训练"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2789a2bc",
   "metadata": {},
   "source": [
    "## 设置待优化的超参数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "98809cb2",
   "metadata": {},
   "outputs": [],
   "source": [
    "xgb_param = {'max_depth': list(range(2, 6, 1)), 'min_child_weight': list(range(1, 4, 1)),\n",
    "                 'learning_rate': list(np.arange(0.01, 0.3, 0.01)), 'scale_pos_weight': list(range(1, 5, 1))}"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "455818d8",
   "metadata": {},
   "source": [
    "## 初始化网格搜索"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "0e0e8078",
   "metadata": {},
   "outputs": [],
   "source": [
    "xgb_gsearch = GridSearchCV(\n",
    "        estimator=XGBClassifier(random_state=0, n_estimators=500, subsample=0.8, colsample_bytree=0.8),\n",
    "        param_grid=xgb_param, cv=3, scoring='f1', n_jobs=-1, verbose=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9941c6a3",
   "metadata": {},
   "source": [
    "## 执行超参数优化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "2dd8441a",
   "metadata": {},
   "outputs": [],
   "source": [
    "#xgb_gsearch.fit(x_train, y_train)\n",
    "#print('xgboost model best_score_ is {0},and best_params_ is {1}'.format(xgb_gsearch.best_score_,\n",
    " #                                                                         xgb_gsearch.best_params_))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "230bca90",
   "metadata": {},
   "outputs": [],
   "source": [
    "#Fitting 3 folds for each of 288 candidates, totalling 864 fits\n",
    "#[23:09:45] WARNING: C:/Users/Administrator/workspace/xgboost-win64_release_1.4.0/src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
    "#xgboost model best_score_ is 0.4856610796362695,and best_params_ is {'learning_rate': 0.060000000000000005, 'max_depth': 3, 'min_child_weight': 1, 'scale_pos_weight': 3}"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6e97a11c",
   "metadata": {},
   "source": [
    "## 训练模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "24b2496a",
   "metadata": {},
   "outputs": [],
   "source": [
    "xgboost_model = XGBClassifier(random_state=0, n_jobs=-1,\n",
    "                                    n_estimators=280,\n",
    "                                    max_depth=3,\n",
    "                                    subsample=0.8, colsample_bytree=0.8,\n",
    "                                    learning_rate=0.28,\n",
    "                                    scale_pos_weight=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "58f9cd90",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[08:14:39] WARNING: C:/Users/Administrator/workspace/xgboost-win64_release_1.4.0/src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    }
   ],
   "source": [
    "xgboost_model_fit = xgboost_model.fit(x_train, y_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f7978ea4",
   "metadata": {},
   "source": [
    "## 模型预测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "4a9d62b7",
   "metadata": {},
   "outputs": [],
   "source": [
    "y_pred = xgboost_model_fit.predict(x_train)\n",
    "y_proba = xgboost_model_fit.predict_proba(x_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "35f45bf9",
   "metadata": {},
   "outputs": [],
   "source": [
    "y_pred_1 = xgboost_model_fit.predict(x_test_1)\n",
    "y_proba_1 = xgboost_model_fit.predict_proba(x_test_1)\n",
    "y_pred_2 = xgboost_model_fit.predict(x_test_2)\n",
    "y_proba_2 = xgboost_model_fit.predict_proba(x_test_2)\n",
    "y_pred_3 = xgboost_model_fit.predict(x_test_3)\n",
    "y_proba_3 = xgboost_model_fit.predict_proba(x_test_3)\n",
    "y_pred_4 = xgboost_model_fit.predict(x_test_4)\n",
    "y_proba_4 = xgboost_model_fit.predict_proba(x_test_4)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c5c79247",
   "metadata": {},
   "source": [
    "# 模型评估"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "28211e97",
   "metadata": {},
   "source": [
    "## 混淆矩阵"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fc4b577e",
   "metadata": {},
   "source": [
    "### 训练集混淆矩阵"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "2f2d1dff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>预测为好</th>\n",
       "      <th>预测为坏</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>标签为好</th>\n",
       "      <td>187346</td>\n",
       "      <td>7357</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>标签为坏</th>\n",
       "      <td>54774</td>\n",
       "      <td>10672</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        预测为好   预测为坏\n",
       "标签为好  187346   7357\n",
       "标签为坏   54774  10672"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cnf_matrix = confusion_matrix(y_train,y_pred)\n",
    "cnf_matrix = pd.DataFrame(cnf_matrix,index = [\"标签为好\",\"标签为坏\"],columns = ['预测为好','预测为坏'])\n",
    "cnf_matrix"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c2c2cb45",
   "metadata": {},
   "source": [
    "### 测试集混淆矩阵"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "5788e620",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>预测为好</th>\n",
       "      <th>预测为坏</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>标签为好</th>\n",
       "      <td>23464</td>\n",
       "      <td>753</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>标签为坏</th>\n",
       "      <td>8220</td>\n",
       "      <td>1182</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       预测为好  预测为坏\n",
       "标签为好  23464   753\n",
       "标签为坏   8220  1182"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cnf_matrix_1 = confusion_matrix(y_test_1,y_pred_1)\n",
    "cnf_matrix_1 = pd.DataFrame(cnf_matrix_1,index = [\"标签为好\",\"标签为坏\"],columns = ['预测为好','预测为坏'])\n",
    "cnf_matrix_1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "0964288e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>预测为好</th>\n",
       "      <th>预测为坏</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>标签为好</th>\n",
       "      <td>23769</td>\n",
       "      <td>356</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>标签为坏</th>\n",
       "      <td>8945</td>\n",
       "      <td>525</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       预测为好  预测为坏\n",
       "标签为好  23769   356\n",
       "标签为坏   8945   525"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cnf_matrix_2= confusion_matrix(y_test_2,y_pred_2)\n",
    "cnf_matrix_2 = pd.DataFrame(cnf_matrix_2,index = [\"标签为好\",\"标签为坏\"],columns = ['预测为好','预测为坏'])\n",
    "cnf_matrix_2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "aa019eec",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>预测为好</th>\n",
       "      <th>预测为坏</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>标签为好</th>\n",
       "      <td>24166</td>\n",
       "      <td>382</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>标签为坏</th>\n",
       "      <td>8767</td>\n",
       "      <td>477</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       预测为好  预测为坏\n",
       "标签为好  24166   382\n",
       "标签为坏   8767   477"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cnf_matrix_3 = confusion_matrix(y_test_3,y_pred_3)\n",
    "cnf_matrix_3 = pd.DataFrame(cnf_matrix_3,index = [\"标签为好\",\"标签为坏\"],columns = ['预测为好','预测为坏'])\n",
    "cnf_matrix_3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "17afe631",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>预测为好</th>\n",
       "      <th>预测为坏</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>标签为好</th>\n",
       "      <td>23803</td>\n",
       "      <td>355</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>标签为坏</th>\n",
       "      <td>8908</td>\n",
       "      <td>475</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       预测为好  预测为坏\n",
       "标签为好  23803   355\n",
       "标签为坏   8908   475"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cnf_matrix_4 = confusion_matrix(y_test_4,y_pred_4)\n",
    "cnf_matrix_4 = pd.DataFrame(cnf_matrix_4,index = [\"标签为好\",\"标签为坏\"],columns = ['预测为好','预测为坏'])\n",
    "cnf_matrix_4"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "602f24dc",
   "metadata": {},
   "source": [
    "## 评估指标"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4305c2fd",
   "metadata": {},
   "source": [
    "### 训练集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "13207cc5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>准确率</th>\n",
       "      <th>AUC</th>\n",
       "      <th>KS值</th>\n",
       "      <th>kappa</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>XGBoost</th>\n",
       "      <td>0.761171</td>\n",
       "      <td>0.720061</td>\n",
       "      <td>0.318227</td>\n",
       "      <td>0.164949</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              准确率       AUC       KS值     kappa\n",
       "XGBoost  0.761171  0.720061  0.318227  0.164949"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "acc_xgboost = accuracy_score(y_train,y_pred)\n",
    "kappa_xgboost = cohen_kappa_score(y_train,y_pred)\n",
    "auc_xgboost = roc_auc_score(y_train, y_proba[:,1])\n",
    "fpr_xgboost, tpr_xgboost, thresholds_roc_xgboost= roc_curve(y_train,y_proba[:,1])\n",
    "ks_xgboost = max([trp_ - fpr_ for trp_, fpr_ in zip(tpr_xgboost, fpr_xgboost)])\n",
    "results = pd.DataFrame()\n",
    "results['准确率'] = [acc_xgboost]\n",
    "results['AUC'] = [auc_xgboost]\n",
    "results['KS值'] = [ks_xgboost]\n",
    "results['kappa'] = [kappa_xgboost]\n",
    "results.index = ['XGBoost']\n",
    "results"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7fb5e41d",
   "metadata": {},
   "source": [
    "### 测试集1-2-3-4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "b70b93ad",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>准确率_1</th>\n",
       "      <th>AUC_1</th>\n",
       "      <th>KS值_1</th>\n",
       "      <th>kappa_1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>XGBoost</th>\n",
       "      <td>0.733097</td>\n",
       "      <td>0.705251</td>\n",
       "      <td>0.300104</td>\n",
       "      <td>0.124987</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            准确率_1     AUC_1     KS值_1   kappa_1\n",
       "XGBoost  0.733097  0.705251  0.300104  0.124987"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "acc_xgboost = accuracy_score(y_test_1,y_pred_1)\n",
    "kappa_xgboost = cohen_kappa_score(y_test_1,y_pred_1)\n",
    "auc_xgboost = roc_auc_score(y_test_1, y_proba_1[:,1])\n",
    "fpr_xgboost, tpr_xgboost, thresholds_roc_xgboost= roc_curve(y_test_1,y_proba_1[:,1])\n",
    "ks_xgboost = max([trp_ - fpr_ for trp_, fpr_ in zip(tpr_xgboost, fpr_xgboost)])\n",
    "results1 = pd.DataFrame()\n",
    "results1['准确率_1'] = [acc_xgboost]\n",
    "results1['AUC_1'] = [auc_xgboost]\n",
    "results1['KS值_1'] = [ks_xgboost]\n",
    "results1['kappa_1'] = [kappa_xgboost]\n",
    "results1.index = ['XGBoost']\n",
    "results1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "7d525bd2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>准确率_2</th>\n",
       "      <th>AUC_2</th>\n",
       "      <th>KS值_2</th>\n",
       "      <th>kappa_2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>XGBoost</th>\n",
       "      <td>0.723143</td>\n",
       "      <td>0.652823</td>\n",
       "      <td>0.220279</td>\n",
       "      <td>0.056149</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            准确率_2     AUC_2     KS值_2   kappa_2\n",
       "XGBoost  0.723143  0.652823  0.220279  0.056149"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "acc_xgboost = accuracy_score(y_test_2,y_pred_2)\n",
    "kappa_xgboost = cohen_kappa_score(y_test_2,y_pred_2)\n",
    "auc_xgboost = roc_auc_score(y_test_2, y_proba_2[:,1])\n",
    "fpr_xgboost, tpr_xgboost, thresholds_roc_xgboost= roc_curve(y_test_2,y_proba_2[:,1])\n",
    "ks_xgboost = max([trp_ - fpr_ for trp_, fpr_ in zip(tpr_xgboost, fpr_xgboost)])\n",
    "results2 = pd.DataFrame()\n",
    "results2['准确率_2'] = [acc_xgboost]\n",
    "results2['AUC_2'] = [auc_xgboost]\n",
    "results2['KS值_2'] = [ks_xgboost]\n",
    "results2['kappa_2'] = [kappa_xgboost]\n",
    "results2.index = ['XGBoost']\n",
    "results2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "ef14730b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>准确率_3</th>\n",
       "      <th>AUC_3</th>\n",
       "      <th>KS值_3</th>\n",
       "      <th>kappa_3</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>XGBoost</th>\n",
       "      <td>0.729255</td>\n",
       "      <td>0.652598</td>\n",
       "      <td>0.218172</td>\n",
       "      <td>0.050247</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            准确率_3     AUC_3     KS值_3   kappa_3\n",
       "XGBoost  0.729255  0.652598  0.218172  0.050247"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "acc_xgboost = accuracy_score(y_test_3,y_pred_3)\n",
    "kappa_xgboost = cohen_kappa_score(y_test_3,y_pred_3)\n",
    "auc_xgboost = roc_auc_score(y_test_3, y_proba_3[:,1])\n",
    "fpr_xgboost, tpr_xgboost, thresholds_roc_xgboost= roc_curve(y_test_3,y_proba_3[:,1])\n",
    "ks_xgboost = max([trp_ - fpr_ for trp_, fpr_ in zip(tpr_xgboost, fpr_xgboost)])\n",
    "results3 = pd.DataFrame()\n",
    "results3['准确率_3'] = [acc_xgboost]\n",
    "results3['AUC_3'] = [auc_xgboost]\n",
    "results3['KS值_3'] = [ks_xgboost]\n",
    "results3['kappa_3'] = [kappa_xgboost]\n",
    "results3.index = ['XGBoost']\n",
    "results3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "de43daf8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>准确率_4</th>\n",
       "      <th>AUC_4</th>\n",
       "      <th>KS值_4</th>\n",
       "      <th>kappa_4</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>XGBoost</th>\n",
       "      <td>0.723831</td>\n",
       "      <td>0.651344</td>\n",
       "      <td>0.22189</td>\n",
       "      <td>0.049814</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            准确率_4     AUC_4    KS值_4   kappa_4\n",
       "XGBoost  0.723831  0.651344  0.22189  0.049814"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "acc_xgboost = accuracy_score(y_test_4,y_pred_4)\n",
    "kappa_xgboost = cohen_kappa_score(y_test_4,y_pred_4)\n",
    "auc_xgboost = roc_auc_score(y_test_4, y_proba_4[:,1])\n",
    "fpr_xgboost, tpr_xgboost, thresholds_roc_xgboost= roc_curve(y_test_4,y_proba_4[:,1])\n",
    "ks_xgboost = max([trp_ - fpr_ for trp_, fpr_ in zip(tpr_xgboost, fpr_xgboost)])\n",
    "results4 = pd.DataFrame()\n",
    "results4['准确率_4'] = [acc_xgboost]\n",
    "results4['AUC_4'] = [auc_xgboost]\n",
    "results4['KS值_4'] = [ks_xgboost]\n",
    "results4['kappa_4'] = [kappa_xgboost]\n",
    "results4.index = ['XGBoost']\n",
    "results4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "8115f33f",
   "metadata": {},
   "outputs": [],
   "source": [
    "acc1=[results1['准确率_1'],results2['准确率_2'],results3['准确率_3'],results4['准确率_4']]\n",
    "ac1=np.mean(acc1)\n",
    "bc1=np.std(acc1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "85810710",
   "metadata": {},
   "outputs": [],
   "source": [
    "acc2=[results1['AUC_1'],results2['AUC_2'],results3['AUC_3'],results4['AUC_4']]\n",
    "ac2=np.mean(acc2)\n",
    "bc2=np.std(acc2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "eb10b0c0",
   "metadata": {},
   "outputs": [],
   "source": [
    "acc3=[results1['KS值_1'],results2['KS值_2'],results3['KS值_3'],results4['KS值_4']]\n",
    "ac3=np.mean(acc3)\n",
    "bc3=np.std(acc3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "b80cbbdb",
   "metadata": {},
   "outputs": [],
   "source": [
    "acc4=[results1['kappa_1'],results2['kappa_2'],results3['kappa_3'],results4['kappa_4']]\n",
    "ac4=np.mean(acc4)\n",
    "bc4=np.std(acc4)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "871d87c7",
   "metadata": {},
   "source": [
    "### 测试集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "b44cc558",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>准确率的均值</th>\n",
       "      <th>准确率的方差</th>\n",
       "      <th>AUC的均值</th>\n",
       "      <th>KS值的均值</th>\n",
       "      <th>kappa的均值</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>XGBoost</th>\n",
       "      <td>0.727332</td>\n",
       "      <td>0.004085</td>\n",
       "      <td>0.665504</td>\n",
       "      <td>0.240111</td>\n",
       "      <td>0.070299</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           准确率的均值    准确率的方差    AUC的均值    KS值的均值  kappa的均值\n",
       "XGBoost  0.727332  0.004085  0.665504  0.240111  0.070299"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results11 =pd.DataFrame({'准确率的均值':{'XGBoost':ac1},'准确率的方差':{'XGBoost':bc1},\n",
    "                   'AUC的均值':{'XGBoost':ac2},'KS值的均值':{'XGBoost':ac3},\n",
    "                   'kappa的均值':{'XGBoost':ac4}})\n",
    "results11"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "579f4333",
   "metadata": {},
   "source": [
    "## ROC和KS曲线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "a3d0ccbc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y_proba_xgboost_1= y_proba_1\n",
    "fig,(axe1,axe2) = plt.subplots(1,2,sharey = True)\n",
    "for i in range(len(np.unique(y_test_1))):\n",
    "    fpr,tpr,thresholds = roc_curve(y_test_1,y_proba_xgboost_1[:,i],pos_label = i)\n",
    "axe1.plot(fpr,tpr)\n",
    "axe1.plot([0,1],[0,1])\n",
    "axe1.set_title('ROC')\n",
    "axe2.plot(1 - thresholds,tpr,label = 'TPR')\n",
    "axe2.plot(1 - thresholds,fpr,label = 'FPR')\n",
    "plt.xlim(0,)\n",
    "axe2.set_title('KS')\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "2c5a1996",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABBEUlEQVR4nO3dd3hVRfrA8e+kQgKB0Duh9x5AqhRBrCgCuip2sa7+1nVdXcu6ltVVV3fXjmLBDoigNAEF6SV0CKEkpBFSSE9IvXd+f5ywskjICdxzzy3v53l8EsncM6+Yc987c2beUVprhBBCCE8TYHcAQgghxNlIghJCCOGRJEEJIYTwSJKghBBCeCRJUEIIITySJCghhBAeSRKUl1NKPauUKlJKZSqljiml/lj153crpdKUUulKqQdOaz9AKbW/6mcv2he5EJ6h6h56uer7XkqpHKVUN6XUH5VSyUqpBKXUlXbH6Y8kQfmGt7TWzYARwJ+VUv2AfwBjgOHA80qpHkqpIGA+8BcgChivlJpoT8hCeBalVDDwGfAkEA7MALoBU4DZVT8XbiQJyodorROBzcAk4Eet9SGtdQKwHLgCGAmUaK0Xaa3LgYXAeJvCFcLT/BVI01q/C/QCsrTWJVrrXcDTQB07g/NHQXYHIFxHKdUOiAbqA1tO+1EyxoipFDh42p9/jPFJUQh/Nxi4GOha9e9rgXeUUu8Cz2utZ9kWmR+TEZRveFAplQkcBl4FEoCy035eDtQFGgJFp/5Qa51RNcISwt+NA1IwpvPQWidhTI93Ag4ppW61MTa/JQnKN7yFMUIqApYAJ/nf6YjQqj+rqPoeAKXUxUqpm90XphAeax5wB/CoUqougNZ6r9Z6InAj8K5SqpudAfojSVA+Qmt9EvgIuB9jBBV12o/bA0eBI0DH0/58FNDXTSEK4ckStNargXjgbqXUC6dGTVrr74HVQB87A/RHkqB8y1sYK49+BiZWLZXtCEzEGFmtBDoopcYrpeoB0zBuPCGE4UXgMYzpvtuVUnWVUs0wktNuWyPzQ7JIwodorZOUUmuBocCfgDUYH0Ke1FofBFBKXQHMApoBH2qtl9kUrhAeR2u9VCmVAYQAhzBGVGXA37TWh20Nzg8pOQ9KCCGEJ5IpPiGEEB5JEpQQQgiPJAlKCCGER5IEJYQQwiPZsoqvSZMmOioqyo6uhbDM9u3bT2itm1p1fblvhK+q7t6xJUFFRUURExNjR9dCWEYplWTl9eW+Eb6quntHpviEEEJ4JElQQgghPJIkKCGEEB5JEpQQQgiPJAlKCCGER5IEJYQQwiNJghJCCOGRTCUopVRzpdS6GtrMVkptUko95ZrQhBBC+LMaE5RSKhL4FAg/R5spQKDWehjQUSnVxXUhCmEfrTWJJ4pZ9f3nbHrnXnBU2B2SEB7lWF4Jy75+m83v3uvya5upJOEArgcWnaPNGGBu1fcrgJHA/xzupZSaCcwEaNeuXW3jFMIttNbsSslj2b50dqfkEXu8gAZlx/kh5ElyAptSVl5GaN1gt8Uj943wVKm5J/nbD7EUx/3ElyF/Jz6wI1SUQHBdl/VRY4LSWhcAKKXO1SwcOFb1fQ4w8CzXmYVxkivR0dFySqLwKKm5J9kYn83nm5PYk5qPUtCvTUOm9G3CQ0l/I6IkgIb3fIuqW8+tccl9IzxRWl4J09/bRF5JOasiF1KpWtHp4U0QXMel/biqFl8RcCpt1kMWXwgvUOFwsmJ/Bm+vPkLs8QIAOjYN57nJvZjcrzUNwoJh8R8gfz/c8CU07mRzxELYb2VsBo98swuH1iyY2phWC2LhsldcnpzAdQlqO8a03magH3DQRdcVwuXis4r4fHMS3+9KI7u4nI5Nwnn8su50a1Gfi7s0JSCgarZg99cQ8xGMeBi6X2Fv0ELYTGvNh+uO8uLSA/RsGcHbNw2kw97/AAp6XmNJn7VOUEqpnsCNWuvTV+stBNYppVoBlwEXuSY8IVyj0uEkJimXjzccZUVsBsEBAYzv0YxrB7RmfI/mBAacMYWdsR9++D9oPxLGPWNLzEJ4Cq01Lyw5wOz1RxnbrSlv3TiQ8NAgiF0I7UdA/eaW9Gs6QWmtx1R9jQWeOuNnBUqpMcAE4BWtdb7rQhTi/Gmt2Xo0h2d/iOXA8QICAxR3jezAzNGdaFo/9OwvKi2Ab2ZAnQYw9SMItOVUGiE8xusrDzF7/VFuGNyWv1/bx5hlyIyDrDi4/DXL+nXZnae1zuXXlXxC2G7xnjReX3GIhBPFRNQJ4pWpfbmkR3MahYdU/yKtYdH9kJsIty227JOhEN7is02JvPnzEUZ3bfprcgJj9ISCHldZ1rd8NBQ+pcLhZPm+dD7fnMSWozlE1AniL5d35/rB7WhgZnn4prfhwA8w8QVoP9z6gIXwYDuSc3lucSwjOjdm1oxBvyYngAOLoe1QqN/Csv4lQQmf8eP+dF5ZHkd8VjGRYcH8flxn7h/TmbohgeYukLQRVj5jfCIc9qC1wQrh4dLzS7nto600q1+Hf98wgDrBp91HWYcgYy9c+pKlMUiCEl4vv6SCl5Ye4OttKbRsUIdXruvLlf1aEhZSi1/vwgyYdztERsHkt+Hc+/6E8GnGoohYSiocLLh/BE3qnfG8dt98QEGvay2NQxKU8FpOp2bhrmM8tXAfJ8sd3Di0Hc9c2fN/P+mZ4aiEb++E0nyYscBYHCGEH1t3+ASL9xzngbGd6NzsjM3pWsPeedBhFES0tDQOSVDCK6XknOTuOTHEpRfSpVk9nri8O+O6n+eChtUvQOI6uOY9aN7LtYEK4WVKKxz87Yf9tImsy+/HnaWsatoOyEmAkX+wPBZJUMKrVDqcfLUthVeWx6GAv1/bh2nRbQgOPM/iJXFLYf0bMOh26P87l8YqhDd6/5cE4rOKmX1r9NlnI/bOh8AQS1fvnSIJSngFrTXrj5zg5WVx7E8rYGC7hrxwTR96too4/4vmJMB390LL/jDpZZfFKoS3OpxRyFurD3N5nxaM697stw2cDti3ALpMhLqRlscjCUp4vNzicv4wdxdrDmbRKDyEv13di1uGta+pgPG5VZTAN7cYiyGmz7GkjpgQ3kRrzRML9lIvNIi/Xd377PdX4nooSoc+U90SkyQo4dGW7T3Oc4tjOVFUxt2jOvDHid1qvwjibJY+aiyTvXEeRLa/8OsJ4eWW7UsnJimX56/pXX2Vlb3zIKQedJ3klpgkQQmPdKKojBcWx7JwVxrN6ofy3f0j6N3aRavrdsyBnZ/D6D9B14muuaYQXqywtIKXlh2ga/N63DikmnPHKssg9nvj2ZMLz3w6F0lQwuMUl1Vy60db2Z9WwNRBbXj6yp7mqkCYcXw3LHkUOo6BMU+45ppCeLmvt6aQklPCF3cN/W3h5FMOr4SyfOjtnuk9kAQlPExMYg53fhpDfkkF/5zWj+sGtXHdxUvyYO4tEN4ErpsNAS6YKhTCy50sr+TjDUfp16YBIzo3qb7hvvkQ1gQ6Xuy22ORgQeExPlyXwPWzNlM3OJCPbxvs2uTkdBor9vJTYdonRpISQvDllmTS8kt5bFL36huVFcLBZUbliEAXzWaYICMo4RE+WJvAi0sPMKRDI967edC5K46fjw3/gkPLjJM/2w5x7bWF8FIOp+bjDYlEt4889+gpbglUlkKfae4LDhlBCQ/w5ZZkXlxqPKD9/M6hrk9OR9fCz89D7+tgyEzXXlsIL7YyNoNjeSXcObLDuRvuWwAN2rr9w52MoIRtSsodPLVwH9/uSGV4p8a8e/MgQoJc/Jmp4DjMvwMad4ar/iNFYIU4zUcbjtImsi4Te53jyIyyIoj/GYbe4/b7RxKUsEVphYOZn8Ww/sgJHhrfhYfHd6l+9dD5clTAvNug/CTcuhhC69X4EiH8xb5j+Ww9msNTV/Q49713+EdwVkC3y90XXBVJUMLtisoquenDLexJzeOV6/oyLbqtNR2tehZSNhsr9pqd4wGwEH7oow1HqRscWPP9d+AHCG8G7S5yT2CnkWdQwq1yisu5ZbaRnF66to91yWn/Qtj0Fgy5x21lWYTwFnkny1m85zhTBrY+9x7DilI4tAK6X2HLtgwZQQm32Zmcy/1f7CC7qJy3fjeQK/padJbMiSOw6EFoM9g4ul0I8T/mxaRSXunkpqE1lPlKWA0VxdDjSvcEdgZJUMIt5m9P5S8L9tIsIpRv7xtOnzYWHQpYXgxzZ0BQiLHfKcjFKwKF8HJllQ4+2ZjI4KjImk8DOLAYQhtA1Gj3BHcGSVDCUqUVDh7/dg8Ld6XRtlFdvr13OM0iLKocrjUs/gNkHjBOxm3gwo2+QviIRbvSOJZXwrNX13A4Z2U5HFwCXS+17YOeJChhmUqHkwe/3MmqAxlMGdCaF67tTViIhb9yMR/Bnm9g7JPQaZx1/Qjhxb7bcYyOTcIZf7bznk6XuhVKcqHn1e4J7CxkkYSwRFmlg7vnxLDqQAa3DY/i9ev7W5ucjm2H5Y9D5wkw6lHr+hHCix3LK2Hz0Wyu6NuSgJq2dRz5CVQgdHBf7b0zyQhKuFxucTn3fLadrYk53DemE49d2s3aDk/mwNxboV4LmDILAuRzlxBnM3dbClrDdDOrZw8ug/bDoc4FnFp9gSRBCZfanpTL77/cQVZRGa9N68dUVxZ8PRunExbcDUUZcMePENbI2v6E8FLllU6+2prMmG5Nadso7NyN81Mh6wAMsHcVrCQo4RKVDif/WB7HB+uO0q5RGF/cdRFDOrghWax9FY6sgivfgNYDre9PCC/1TUwKmYVl/GN4VM2Nj/xkfO18iaUx1UQSlLhghaUV3PrRVnYk53Fpr+a8cE2f6o+MdqUjP8Gal6DvDTDoduv7E8JLaa15b0080e0jGdO1ac0vOLIKIlpDU3srsEiCEhfE4dT/TU6PTuzKA2M7o9xRUDIvBb69C5r1MEZPUgRWiGodOF7IsbwSHr6kS833p6MCEtZAr2tsv68kQYnz5nBqHp23mx3Jedw3phMPjuvino4ry40isI4KmP4ZhNQwny6En1sRmw7AmG4mRk/xq6GsALpMtDiqmkmCEudFa80jc3exaFcaj07s6r7kBLDiSTgWYySnJp3d168QXmrF/gz6t21Is/omNsnv+RrqNoKuk6wPrAayHlecl4e/NpLTjUPbuTc57Z0PW2fBsAdt3UAohLc4nl9C7PECJvZqXnPjihJjeXnPyW492r06kqBErc3ZlMj3u9NoHB7C85N7u6/jzDj4/vfQbhhc8qz7+hXCi21OyAZgTNcaKkcAJG+GipNG9XIPIFN8olbeWXOEV5Yf5JIezXn7pgGuP2SwOmWFRhHYkHow9WOP+HQnhDf46UAmkWHBdGtRv+bG8T9BQLDxIdADmBpBKaVmK6U2KaWequbnkUqppUqpGKXU+64NUXgCrTXv/RLPK8sPcnW/Vrx780BCg9x0PozW8P1DkH0Epn4EERYd0yGEjymrdLA6LpNJvVua+zB5eJVRPcJDTp+uMUEppaYAgVrrYUBHpdTZHjjMAL7QWkcD9ZVS0S6OU9iotMLBX77bx8vL4ri6XyveuL4/wYFunB3e8j7sXwDjn4EOo9zXrxBebuORbIrLHVzSw8T0Xm6iUT3CAxZHnGLmXWYMMLfq+xXAyLO0yQZ6K6UaAm2BlDMbKKVmVo2wYrKyss4vWuF2JeVG0devtiZz80XteOP6/u6b1gNI2Wqs2ut2OYz4P/f16yHkvhEX4vvdadSvE8TILk1qbnxwufG1m3clqHDgWNX3OcDZloKsB9oDDwEHqtr9D631LK11tNY6umlTE2vxhe3KK5088OUO1h85wbNX9eSFa/q4NzkVZRlFYBu0gWvetX3ToB3kvhHny+HU/ByXyYQezc1Nxx9aBk26QqOO1gdnkpkEVQTUrfq+XjWv+Stwr9b6OSAOkLozXq60wsGdn27j57hMnp/cm9tGdHBvAE4HfHsnlOQY+53qNnRv/0J4uR3JueSXVDC2pnOfAEoLIHGDR03vgbkEtZ1fp/X6AYlnaRMJ9FFKBQJDAe2S6IQt8k6Wc+en21h32Bg53XxRe/cHseYlOPoLXP4atOzr/v6F8HLL9qYTEhRgrnrE4RXgrIBul1kfWC2YSVALgRlKqdeB6cB+pdSZNdhfAmYB+UAj4CtXBincp7iskls/2sqGI9m8OrWv+0dOAId+NKqUD5gBA2e4v38hvJzDqVmyN43RXZpSv46JLRmxC6Fec2g71PLYaqPGfVBa6wKl1BhgAvCK1jod2H1Gm61ADQfcC09XWmEsiNiXVsC/b+jP5P6t3R9EbhIsmAkt+sDlr7q/fyF8wJaj2WQUlPHMlSbu4fJiY3n5gJshwE1bR0wytVFXa53Lryv5hA+qcDh58MsdbIzP5o3r+9mTnCpKYe4txr6n6Z9BcN2aXyOE+I0NR04QGKC42Mz0XtJGqCzxqNV7p0glCYGzqir5qgOZPD+5F9cOsPgU3Oos/zMc3wU3fAWNbJhaFMJH/HIoi4HtGlIv1MRb/KHlEBwG7c+2g8heUovPz2mtufXjrSzalcZjk7oxY1iUPYHs+hK2fwIj/wDdL7cnBiF8QN7JcvanFTCis4m9T1ob+586joVgE5XO3UwSlB/TWnPXpzGsO3yCGwa35f4xNh1dkb4PFv8BokbB2LNW0xJCmLT+yAm0hlFdTEzvpe2EglSPKQ57JklQfuxvP8TyU1wmk/u34qUpfewJojTfKAJbp6FRZy9QZp2FuBBrD2VRPzSIfm0a1Nz48EpAQddLLY/rfMi7gZ965JtdLNh5jL5tGvDG9P7uOab9TFrDwvuNlXu3LYF6JjYUCiGq5XBq1hzMYlTXJgSZqZd5+EdoNQDCTUwH2kBGUH7o/V/iWbDzGKO6NGH+vcMJcGf5otNtfBPiFsPE56G9Z5T3F8Kb7UrJJbOwjEt7tai5cX4qHNvusdN7ICMov6K15sUlB/hw/VEm9GzO+zcPsi85JW6AVc8aJ3dedL89MQjhY9YdPoFScHFXM9UjVhpfPThByQjKj7yzJp4P1x/ld0Pa8e5NA+1LToUZMP92Yyn51W/5ZRFYIayw/vAJ+rZuQMOwkJobxy2Bhu2haXfrAztPkqD8xM9xGbz640HGdmvKi9f0Njc/bQVHpZGcygqNzbh1IuyJQwgfU1rhYM+xfIZ0aFRz47JCo9Zlj6s8+gOiTPH5gcyCUh6Zu5uOTcJ5fXp/+0ZOAD8/B0kb4NpZ0LynfXEI4WN2peRRXulkaIfGNTc+sgoc5R49vQeSoHxecVkl932xg7yTFXx6+xAiw00M/a1yYDFs+DdE3wH9rrcvDiF80JYE4xi+Qe0ja24c/zOENvC44rBnkgTlwwpLK5j4xlqO55fyj+v60K9tQ/uCyY6HhfcZS1onvWxfHEL4qKV7jzOofWTNH0K1hvg10GGUxxWHPZM8g/JRxWWVTHtvE8fzS3l0YleuH9zOvmDKTxpFYAMCYfocCAq1LxYhfFBGQSkHMwqZ2PNsB56f4cQhyE+GzuOtD+wCyQjKB+WdLOfuOTHEpRfy6tS+TItua18wWsPSRyFjP9w0HxramCiF8FG/HMwCMFd/L2GN8bXTOOsCchFJUD5Ga83dc2LYkZzHa9P6MXWQTZXJT9kxB3Z9ARf/GbpcYm8sQviolQcyaN2wLr1amVgVe3St8UExMsryuC6UTPH5mE82JrItMZffj+tsf3JK2wVL/2R8Urv4z/bGIoSPcjg1WxKyGdWlSc0ly5xOSFwPHUa7J7gLJAnKh2w9msPflx5gUPtIHhxrU2XyU0pyjSKw4U1hyoce/zBWCG914HgBBaWVDO1oYv9T+h4ozYMo70hQMsXnI345lMV9n2+neUQdZt8abd9GXDA+pX13LxQchzuWQ7iJfRlCiPOy5aixvNz0/ieAjhdbGJHryAjKB8Qk5nDrR1tp3bAuC+4bbq7MiZU2vGGc0nnp36FNtL2xCOHjNsWfIKpxGK0a1q258ZGfoGV/qG+imKwHkATl5ZKyi5n52XbqBgfy7s2DaBZh86mYCWvg5xeg91QYcre9sQjh4xxOzZajOQzrZGL0VH4SUrd5zegJJEF5taKySu76NIayCgffPziCzs3q2RtQQRrMvxMad4Gr/u3RNb6E8AWxaQUUllZyUUcTCSplMzgrvOb5E8gzKK/ldGpu+mAz8VlFfHBLNF2a17c3IEcFzLsNKkvh+s8h1OZkKYQf2JyQDWAuQSVtAhUA7Ty7vNHpJEF5Ia01z/6wn92p+Tx+WXfG9zCxe9xqK5+BlC0w9WNo2tXuaITwC+uOnKBjk3Cam5naT9oILfpCqM0fZmtBpvi80D2fbWfOpiSmDmrDPaM72h0O7P8ONr8DQ++F3lPsjkYIv1Ba4WBzfDYXdzNxOGFlGRyLgfbDrQ/MhSRBeZmN8SdYEZvBtQNa8+rUvjVvzLNa1iFY9CC0GQITnrc3FiH8yI6kXModTkZ1MVHeKG2XMf0uCUpYJauwjIe+2kXLBnV4bnIv+5NTebFRBDYoFKZ9AkE2L28Xwo9sjM8mMEAxOMrEBt3kjcbXdsOsDcrF5BmUl9Ba8/TCfeSdLOermRdRv06w3QHBDw9DVhzM+A4atLY3HiH8zKaEbHq3bmDuvSBpEzTpCuEmRlseREZQXuLdX+JZvj+dP13azdwnJqtt+xD2zoNxT0KnsXZHI4RfKS6rZHdKHsPMrN5zOiB5s9eNnkASlFdYtvc4ryw/yOV9WjDTExZFpG6H5U9Al0th5B/tjkYIvxOTlEulU5vboJsZC2X5Xvf8CSRBebz9afk8Mnc3HZqE89K1HrAoojjbeO4U0RKufQ8C5FdICHfbejSboADF4CgTx7snbTK+emGCkmdQHqy0wsEf5+4mKEDx9cyLaBBm83MnpwMW3A3FmXDnCgjzgKlGIfzQtsRcerVuQFiIibfw5I0Q0cYrDwuVj78e7MEvdxKXXsjfp/QxtxHPamtfhfif4LJXoNUAu6MRwi+VVTrYnZLH4PYmRk9aGyOo9t73/AkkQXmsOZsSWXUggwk9m3NVv1Z2hwOHV8Gal6HfjTDoNrujEcJv7TtWQFmlk2gzi6VyEqAo3SsXSIAkKI904HgBLy45QKPwEN78nQeMVPJSYMFd0LwXXPFPKQIrhI1iEo3zn6LNPH9K9t7nT2AyQSmlZiulNimlnqqh3TtKqatcE5p/yios445PthEZFsKiB0ZQJ9jmk2gry2Dercbzp+lzICTM3niE8HPbEnPp2CScJvVCa26ctAnqNoIm3awPzAI1Jiil1BQgUGs9DOiolOpSTbtRQAut9Q8ujtFv5BSXM2P2FvJOVvDuzQNp28gDksGPf4Fj2+Gad6BxJ7ujEcKvOZ2a7Uk55kZPYCyQaDfMa1fbmol6DDC36vsVwMgzGyilgoEPgESl1OSzXUQpNVMpFaOUisnKyjrPcH2Xw6n5wze7OJJZxLs3D2RAO5O/gFbaM8/YkDv899BDBsZ2kPtGnC7hRBG5JyuIbm/i+VNhuvEMyksXSIC5BBUOHKv6Pgc429kOtwCxwCvAEKXU789soLWepbWO1lpHN21qovqun3nz58P8ciiLP0zoyphuzewOBzIPwA8PQbvhMP5Zu6PxW3LfiNNtS8wFTD5/SjpVf887nz+BuQRVBJw67L5eNa8ZAMzSWqcDnwNS+6YWVsZm8K9Vh5nYszn3j/GAabSyQvhmBoTUg2kfQ6BslxPCE2xLzKFxeAgdmoTX3Dh5EwSHQcu+1gdmETMJaju/Tuv1AxLP0uYIcKoGTzSQdMGR+YnC0gqeWLCHqMZhvHnjAPsrRWhtHJ+Rk2Akp/ot7I1HCPFfMYm5REdFmnufSNoEbYdAoM0b/C+AmQS1EJihlHodmA7sV0q9cEab2cBYpdRa4H7gNZdG6aO01jz3Qywnisp5/prehAbZvGIPYPO7ELsQLvkrRP3mcaMQwiYZBaUk55w0Vyy6JA8y9nn19B6YKHWktS5QSo0BJgCvVE3j7T6jTSEwzYoAfdnSvenM257K7SOiGNXFA54vJG+GlU9D9yth+EN2RyOEOE3Mf58/mUhQKVsA7dULJMBkLT6tdS6/ruQTLnCiqIwXlsQS1TiMp67oaXc4UJQF826DBm1h8tuyGVcID7MtMYc6wQH0ahVRc+OkjRAQDK2jrQ/MQvL02yaPzN3N8fxSPrglmsAAm5OB0wHf3gEluXDXKqjb0N54hBC/EZOUw4C2kQQHmngyk7wJWvX3+o313rl7y8st33ectYeyuGtkByb0PNuqfTdb/SIcXQtXvA4t+tgdjRDiDEVllcSmFZg7XqOiBI7t8NryRqeTBOVmxWWV/PX7/bRrFMajl3pA+ZGDy2HdP2HgLTDgJrujEUKcxc7kXJza5POnY9vBWeH1CyRApvjcbup7m8goKOOLu4baX2cv5yh8NxNa9oPLXrU3FiFEtbYl5hKgYEC7hjU3TtoEKGg31OqwLCcjKDdaf/gEB44XMOOi9ozo3MTeYCpKjZNxwSgCG+wB500JIc4qJjGHHi0jqF/HxJ6mlC3QtDvU9YByaRdIEpSb5BaX8/DXO2lWP5Qnr+hhdziw7E+QvgeunQWRUXZHI4SoRoXDyc7kPHP7nxyVxgIJL19efopM8bnJEwv2kl1czrs3DbR/am/nF7BjDoz6I3SbZG8sQohzik0roKTCYa7+XmYslBf5xPMnkBGUWyzbe5zl+9O5fUQUl/VpaW8w6XthySPQYTSMfdLeWIQQNdp26oBCMxXMj8UYX9t49/6nUyRBWSw9v5QnvttLj5YRPHm5zVN7JXlGEdi6kXDdRxDgAaWVhBDnFJOYS9tGdWnRwMRz4tQYCGvsM9P2kqAs9tKyA+SdrOCf0/oRZGaDnVW0hkUPQH4KTPsU6nlAaSUhxDlprYlJymGwmdETGEvMW0f7TCUYSVAWWnMwk0W70nhwbGd6milPYqWN/4G4xTDheZ9YfiqEP0jMPsmJonJz+5+KsyErDtoOtj4wN5EEZZEKh5OXl8XRtlFdHr6ki73BJK6HVc9Cz2vgovvsjUUIYdqp50+mKkgkbTC+Ro22MCL3kgRlkVlrE4hLL+TxST3M1c6ySmE6zLsdGnWCyW/5zNBfCH8Qk5hDw7BgOjWtV3PjxPXGAYWtBlgfmJvIMnMLFJRWMGttAv3aNOCKvjau2nNUGMmpvAhu/R5C69sXixCi1mISc4luH0mAmYLSSRuMAwqDQqwPzE1kBGWBf608TH5JBU/YvWrvp79B8ka46t/QzAM2BwshTDtRVEbCiWJzz59Kco0DCtv71iGjkqBcLCYxh482HOW6gW24qGNj+wKJ/R42vgmD74K+0+2LQwhxXk4dUGjq+VPyFuOrj1SQOEUSlAvll1Rw/xc7aFA32N5yRtnxxpLy1oPg0r/bF4cQ4rxtS8whJCiA3q0b1Nw4aQMEhhj3vA+RZ1Au9Lfv95NZWMZHt0XTKNymeeDyk8Zm3IAgY79TUKg9cQghLsjWozn0b9OQ0CATG+qTN0GrgRBc1/rA3EhGUC6y4cgJFuw8xk1D2zGuu02HEGptlDHKjIXrPoCGbe2JQwhxQXKKy9mXls/ILiZOPSgvhrSdPnFA4ZkkQblATnE5f/52D5FhwfYujNj+Cez+CsY8Dp0vsS8OIcQF+elABlrDKDMJKjUGnJU+maBkis8Fnl64j8zCMr66+yLqhdr0V5q2E5Y9Bp3Gw+jH7IlBCOESK2MzaN2wLv3bNqy5cdJGUAHGEnMfIyOoC7Q9KZcle49z2/AoBrW36YCwkznG4YPhzWDKBxAg/1uF8FZaa3am5DE4KhJlZmN98kZo3hvqmFhM4WXknewClFU6eGz+boICFPde3MmeIJxO+O4eKDhunIwbbuPSdiHEBUs4UUxWYRlDOpi4lyvLIWUbtB9hfWA2kCm+C/D6ykPEZxXz+vR+9q3aW/9POLwCLn8N2vjWElMh/NH2JGP/05AOJmZkju+GyhKf2/90ioygzlOlw8mP+9JpVj+UKQPb2BNE/Gr4+UXoM93YkCuE8HoxiTk0qBtMxyYm6u+dKhDrIyfonklGUOfpnysPkZh9kndvGmhPAPnH4Ns7oWl3uOpfUgRWCB+xMT6bwVGNzNXfS94Ejbv47PluMoI6D7nF5XyzLYXBUZH2HOFeWQ7zboPKMrj+MwgJd38MQgiXS8srITW3hGGdTDx/cjqNBOWDy8tPkRFULWmteXTebgrsLAa78mlI3QrTPoEmNp81JYRwmdUHMwEYbiZBZcZCab5PJygZQdXSB+sS+Ckuk79c3oOB7WxYVr7vW9jyHlx0P/S61v39CyEssz0pl8iwYLq3MHE0TtJG46skKAFwOKOQl5fFMapLE24fEeX+ALIOwvcPQduhMOE59/cvhLBMpcPJkj3HGdG5ifn9TxFtoGE764OziSSoWnh95SEClOLVqf3M/QK5UlmRUQQ2qI4xtRcY7N7+hRCW2pWSR1mlk7HdmtXcWGtjBOWjy8tPkWdQJi3de5xl+9K5fUQULRrUcW/nWsMPD0P2YZixECJaubd/IYTlYqr2P5mqv5eTAEUZPj29BzKCMqXS4eTFJQdoFB7CE5fZsDBi6wewbz6MfRI6Xuz+/oUQllt/+ARdm9ejWYSJD8Cnnj/56P6nUyRBmfD55iSO5ZXw+KTuhAS5+a8sZRv8+BfoOglGPuLevoUQblHhcBKTlMPwTiZGT2AsLw9rDE27WRuYzUy92yqlZiulNimlnqqhXXOl1E7XhOYZsovKeH3lIUZ2bsK0aDdXjCg+AfNuNab0rn1PisAK4aN2peRRWuFkcFQjcy9I2gDthvn8Bv0a3/GUUlOAQK31MKCjUupcG29eA3zqSMdXfzzIyXIHz17d070LI5wO+PYuI0lNnwN1baqULoSw3C8HswhQMLKziRFUQRrkJvr88ycwN4IaA8yt+n4FMPJsjZRS44BiIL2an89USsUopWKysrLOI1T3252SxzcxKdw+IorOzUzsS3ClX/4BCavh8lehVX/39i08hjfeN6L2dqfm0b1FBA3CTKzO/e/zJ99ewQfmElQ4cKzq+xzgN+eZK6VCgKeBx6u7iNZ6ltY6Wmsd3bSp59eNcjo1zyzaR5N6oTw03s3VGg6vhF9egf43wcBb3Nu38Cjedt+I2iurdBCTmEt0lMlZkpQtEBwGLfpaG5gHMJOgivh12q5eNa95HHhHa53norhsN39HKrtT83l8Unfq13HjnqO8ZFhwt3EA2eWv+fwcsxD+buvRHEoqHIzpZvIDSNImaDMYAn1/l5CZBLWdX6f1+gGJZ2lzCfCAUmoN0F8p9aFLorPR/JhUujavx5SBrd3XaWWZcTKu0wHTP4WQMPf1LYSwxbbEXAIU5g4oLCuEjH1+Mb0H5jbqLgTWKaVaAZcBNyilXtBa/3dFn9Z69KnvlVJrtNZefTjR/rR8tiXlMHN0R/cujFj+BKTthOu/gMY2ndArhHCrmMQcujavT71QE2/HabsADa3943DSGkdQWusCjIUSm4GxWuvdpyens7Qf47LobPLeLwmEBgUwc1RH93W6+xuImQ0jHoYeV7qvXyGEbUrKjedPplbvgfH8CaBNtHVBeRBTk5ha61x+Xcnn0zYeOcEPu9N4cGxnGtcLdU+nGfuNUkbtR8K4Z9zTpxDCdlsTcyh3OBlpprwRQMpWaNINwkzul/JysvPzNFprXl1xkOYRoTw4rrN7Oi0tMIrA1omAqR/5xYNPIYRh/eEsQgIDGGrm+ZOjEpI3Q7uh1gfmISRBnWb5vnR2JufxyISu1AkOtL5DrWHRA8amu2mfQP3frOAXQviwdYdPEB0VSd0QE+83aTuhLB86jrE8Lk8hCapKaYWDl5bF0aVZPa4b6KaSRpvfgQPfwyXP+sWucCHErzILS4lLLzQ/vZewxvjaYYxFEXkeSVBVPt+cRHLOSR6/rDtBgW74a0naBCuehh5XwfDfW9+fEMKjrD98AoBRnU3uf0pYY2zODTcxHegjJEEBxWWVvL82gS7N6jGuu4nDwi5UUSbMuw0i28Pkt2UzrhB+aPXBLBqFh9CrVUTNjcuLjRV8ncZaH5gHkQQFvP9LPFmFZfxjal/r9z05KmH+HVCaD9M/gzoNrO1PCOFxTpZXsio2g/HdmxEQYOI9J2kTOCv86vkTyIm6HDhewH9+PsJV/VoxsJ0bKoavfgES18E170GL3tb3J4TwOD/HZVJS4eDq/iZPx05YDYGhflNB4hS/H0E9tXAfAH+e5IaDv+KWwvo3YNBt0P931vcnhPBIK2MzaBgWbP6AwoQ1xvLyYJ86zahGfp2gNidksz0plwfGdqJNpMV173IS4Lt7oWU/mPQPa/sSQnisCoeT1XGZTOjRnEAz03tFmUb9PT+b3gM/T1BzNiUSHKi452KL695VlBhFYJUyDh8MrmNtf0IIjxWTmEtBaSXje5jc93h0rfHVDxOU3z6DSsouZvm+dK7u14oIq4/TWPonSN8LN86FyChr+xJCeLRVBzIICQpglOn9T6uhTkNo2d/KsDyS346gvt2eilPDY5O6W9vRjs9g52cw+k/Q9VJr+xJCeDStNasOZDC8U2PCzVQv1xri10CH0RDghuo2HsYvE1RphYPPtyQzqksTWjW08KHj8T2w9FFjaD7mCev6EUJ4hfisIpKyT3KJ2em97HgoSPXL6T3w0wT19MJ95BSXc89oC589leTB3BlQtxFcN9svP/0IIf7XythMAMb3MFkQIGG18dVPE5TfPYPan5bPvO2pXNm3pfkaWLXldMLC+yA/FW5fBuEW9SOE8Co/Hcigd+sIWjYwOXNz5Cdo2B4aufFsOg/idyOoN386AsAzV/W0rpON/4aDS2Hii9B2iHX9CCG8RnZRGduTcxnf3eT0XmW5sam/83i/LYfmVwkqKbuY5fvTeXBsZ5rVt2ip99F18NNz0OtaGHqPNX0IIbzO6oNZaA0TeppMUAmrobwIuvjv4iq/SlD/WnWYAAU3XdTOmg4KjsP826FxZ7j6Tb/91COE+K1VsRm0iKhjrjgswKEfITjM7wrEns5vElRBaQU/7k+nR8tazP/WhqPCSE7lJ40isKH1Xd+HEMIrlVc6WXc4i3E9mpkrSO10QNxi6DIBgkKtD9BD+c0iic83J3Gy3MFzky0q0LrqWUjeZKzYa2bx3iohhFfZlJBNcbmDcd1Mrt5L2QJFGdDjamsD83B+MYIqq3QwZ2MSwzs1ZlB7CyqWxy6CTW/BkJnQZ6rrry+E8GprD2UREhRgfuVw7PdG9fIuE60NzMP5RYL6YG0C6QWlPDC2s+svfuIILHwAWkcbq/aEEOI0lQ4n3+9OY3SXJtQJNrkf8tBy6Hgx1DH5vMpH+XyCSsk5ydur45nQszkjOrt4P1J5sbEZNzAYpn8KQSGuvb4QwuutOpBJVmEZ1w82uTgrOx5yj0LnCdYG5gV8/hnUGysPUVLh4M+urrmnNSx+BDIPwIwF0KCNa68vhPAJX2xJoln9UMZ0a2ruBbGLjK9Su9O3R1AxiTks2HmMqYPa0LlZPddefPvHsOdro8Zep3GuvbYQwiccTC9k3eET3Do8iuBAk2+3+76FNkMgsr21wXkBn05Q766JJ6JOEM9N7uXaCx/bAcv+bAzBR//JtdcWQviMzzYbZ879bojJ6b0Th43DCXtfZ21gXsJnE9SxvBJ+isvkst4tCQtx4UzmyRyYeyvUaw5TZkGAz/4VCiEuQIXDyfe70risd0sahZt8Pn3oR+Nr9yusC8yL+OwzqPfWxKMUPDjOhSv3nE5YMBOK0uGO5RDWyHXXFkL4lA1HTlBQWsnlfVqaf9Gh5dC0OzRsa11gXsQnP/4Xllbw7Y5Uru7XiraNwlx34XWvwZGVMOllaD3IddcVQvic73YeI6JOEGO7m1wckZcMieuNOp4C8NEE9dH6RE6WO7hzZAfXXTT+Z1j9d+h7PUTf4brrCiF8TnFZJcv3pTO5f2tCg0zufdq/ENDGe4wAfDBBOZ2a73amEt0+kr5tGrrmovmpMP9OaNYDrnxDisAKIc5p3eEsyiqdXNanhfkX7V8ArQZAIxd+sPZyPpegVsSmk5h9kmsHtnbNBSvLjUURjgqjCGxIuGuuK4TwWSv2ZxAeEsjgKJPPqXMSIG0n9JpibWBexqcWSTicmv/8dIRm9UO5bqCLNs6ueAqOxcC0T6GJBaWShBA+Jb/EODnh8j4tze992v01oOT50xl8agS1MjaD2OMF/OnSbuZrXp3L3vmw9X0Y9iD0uubCryeE8HmfbkykuNzBrcOjzL8obgm0u0hW753BVIJSSs1WSm1SSj1Vzc8bKKWWKaVWKKW+U0rZUpTu623JNI8I5ZoBLpjey4yD7x+CdsPgkmcv/HpCCJ9XVulgzqYkLu7alN6tG5h7UdYhY3Nuz8nWBueFakxQSqkpQKDWehjQUSnV5SzNbgJe11pPBNKBSa4Ns2axaQWsOZjF9dFtzQ+rq1NWaBSBDQmDqR8bxWCFEKIGS/ce50RRGXfUZgXxnqrpPT8/++lszDyDGgPMrfp+BTASOHx6A631O6f9a1Mg88yLKKVmAjMB2rVz/ZHrb6w6RFCA4gazJUWqo7Uxcso+ArcsgohabLITwsWsvm+Ea320PpEOTcIZZfbkhMpy2DEHuk6CBi5a2OVDzAw1woFjVd/nAM2ra6iUGgZEaq03n/kzrfUsrXW01jq6aVOTG9dMKiqr5JdDWdwwpC2tGl7gce5bZxnLPcc9DR1GuyZAIc6TlfeNcK249AL2Hsvn+sFtCQgwuRUlbjEUZ8HgO60NzkuZGUEVAafe9etRTVJTSjUC3gTcXuVw9rqjlFc6uab/BX4CSdkKP/4Ful0OI/7PJbEJIfzDmz8foW5wIDcMrsVChx1zoGE76DTeusC8mJkR1HaMaT2AfkDimQ2qFkXMA57QWie5LDoTKh1OPt+SRO/WERd2nHvxCZh3m3Gu0zXvShFYIYRpO5JzWbLnOHeO7EDDMJNrxArS4Ogv0Ge6vN9Uw8zfykJghlLqdWA6sF8p9cIZbe4EBgJPKqXWKKXcVqtjZWwGWYVl3DO6E+p8Kzw4HfDtnUaSmj4H6jZ0aYxCCN/21ZZk6oUGce+YTuZftOV942v/G60JygfUOMWntS5QSo0BJgCvaK3Tgd1ntHkXeNeKAGvy7Y5UAhRc2qsWJUXOtOYlSFgDV78FLfu5LDYhhO8rLK1g+f50JvZqTr1Qk7UPyk/Cjk+NYzUa1yKp+RlTf5ta61x+XcnnMTIKSll1IJM7RnQgJOg8h8iHVsDaV2HAzTBwhmsDFEL4vC+2JFNYWsmMi2pxAu72T6Ak1ygCIKrl1ROfi3YZiwuv6Hueo6fcJFhwN7ToA5e/5sLIhBD+oLiskllrE7i4a1MGtDP5DLyyHDa/A22HGtUjRLW8NkFVOpx8uO4og6MiGdT+PA4OrCiFubcY+56mz4HgC1yeLoTwO59uSiSnuJyHLzlb/YJq7Poc8lNg9GPWBeYjvDZBrT2cRWZh2fmf+bT8cTi+C659Dxp1dGlsQgjfl3+ygvfWxDOmW1MGmh09OSphw7+NA087y9Lymnhtgvpw3VEiw4IZ173afcPV2/UVbP8YRv4Bul/u+uCEED5v9voECkor+eOEbuZftHce5CbCqEflXDkTvDJBZRaWsjkhm0t7taj94oiM/bD4DxA1CsaetfatEEKcU25xOR9tSGRc92b0aWOyKCxAzEfQuItR2kjUyCsT1JI9x3Fqaj+9V5oP38yAOg1g6kcQ6FPHYQkh3OTrbSkUlVXy2KRajJ5St0PqVhh0m2zMNckr36G/2JJM9xb16dK8vvkXaQ2LHjCG17ctgXrNLItPCOG7Cksr+GTjUS7q2IjuLSLMv3D1CxDWGAbdal1wPsbr0vie1DyOZBYxtnstE8ymt+DADzDhOWg/zJrghBA+TWvNPZ9t50RROX+6tLv5F6Zsg/ifYcTDEFqLD9Z+zusS1DfbUggNCmDmqFqsvEvaCCv/apy3MuwB64ITQvi0Xw5lsTE+mycu61672p+rX4C6kRAtVctrw6sSVIXDydK9x5nYqwWR4SYLMhZmGEVgI6Ng8tuyckYIcV6cTs3Ly+Jo2aAON9emasSRn4xSaqMfg9B6lsXni7wqQa05mEXuyQqu7tfK3AsclTD/DigtgOs/gzq1mC8WQojTLNp9jLj0Qh6/rDt1ggPNvcjphJXPQMP2cubTefCqRRLf7UylUXgIF3c1eXDbz89D0nq49n1o3sva4IQQPiuzsJQXlxygV6sIrupr8gMywM7PIGMfTPkAgkKtC9BHec0IqqC0glUHMrmqb0tze5/ilsCGf0H0HdDvBsvjE0L4Jq01Ty/cR0FJJa9O7Wf+tNyiTFj5NLQfCX2mWRukj/KaBLVoVxrllU6uNnNqbnY8fHcftBoAk162PjghhM+avz2VH/dn8OilXenZqhaPCX58EipK4Mo35Nn3efKaBLX1aA4A/ds2PHfDihKYe6uxEW7apzKsFkKct5Sck/zth1iGdmjEnSNrsXI4/mfYOxdGPgJNu1oXoI/zimdQWmt+2J3GdQPbEFjT8HrJo8ac703zILIWK22EEOI0Dqfmkbm7APjn9H41v/ecUlECix+BRp2Mep/ivHlFgvrv6Kldw3M33DHHKGU/+jHoMsH6wIQQPqmorJKHv9rJtsRc/jmtH20iw8y/+McnIfco3PI9BNexLkg/4BVTfIt2pxEWEsh1A8/x/CltlzF66jgWxjzuttiEEL5Fa80zC/ex+mAmz1zZkynnet850/6FEDMbhj8EHS+2LEZ/4fEJqtLhZPm+dMb3aE5YSDUDvpJc4/DB8CZw3WwIMLlHQQghzvDOmngW7DzG78d14Y6RHVBmFzhk7IcfHoKW/WD8X60N0k94/BTfhvhscorLuaJPNce6O53Gir2CNLh9GYQ3dm+AQgif8eG6BF798SCT+7fiofG1OCW3KBO+mA5BdWH6Z3JSgot4/N/it9tTiagTxJhu1RSH3fAGHFoGl70KbQe7NzghhM/4z0+HeX3lISb2bM4/p9ViUURlGXx9E5zMhjuWy+IsF/LoKb6c4nK+353GlIFtzl5aJOEX+PkF6H0dDLnb/QEKIbye1prXfjzI6ysPMWVAa965aSBBgSbfGp0Oo5xa6la49j1o1d/SWP2NR4+gVsVmAHBpr7NM7xWkGb8YjbvAVf+RjXBCiForKXfw9KJ9zN+eyg2D2/LitX3Mj5ycTvj+9xC32CgI0OsaS2P1Rx6doDYnZBMYoBgcdUZZe0cFzLvd2G9w/WdSIVgIUWtx6QU8+OVOjmQWMXN0Rx6f1N18GaNTyWnXF3Dxn+Gi+6wN1k95dIJavPc4Y7o2/e1we+VfIWWzcWx701ocuSyEEMDhjEKmvbuJkKAAPrl9cPXPuM+mtAAW/x/s+xbGPCHbWizksQkqs7CU8kon7RqfsUFu/3ew+W0Yeq/x7EkIIWphe1Iu936+HaXgq5kX0bV5LU64LTgOn1wOuUnGUvJRj1gXqPDcBLU9MReAK08vbX/iMCx6ENoMgQnP2xSZEMJbrY7L5O45MTSpF8r8+4bXLjklb4FvboLyk3DLQugw2rI4hcFjE9ShjCKUgu4tqn6ByovhmxlG8ddpn0CQyRN1hRB+r8Lh5M2fj/DO6iO0axTG/PuG08jsqdwVpbD2VeP4nojWMOM7aNHH0niFwWMT1JGsIlpG1CE8NAi0hh/+D7LijF+OBrUoPSKE8GuJJ4p5ZO4udiTnMbl/K567ujcNwoJrfqHTCbHfwY9PQWGa8Ujhin9C3ciaXytcwmMT1M7kXLq3rDp7JWa2Ubp+7FPQaay9gQkhvILDqflySxJ/XxpHcKDi3zf0Z7KZ8+QqyyF2Iax7HbIOQLNeMGUWdBhleczif3lkgsooKCU1t4TbR3SA1O2w7HHoMhFG/dHu0IQQHq60wsHHGxL5ZONRMgrKGNWlCa9O7UeLBjVUFq8oga2zYP0bRn3Ppt3h2lnQZ6rU97SJRyaoncl5AEQ30zDvVqjfEq593ziEUAghqrF8XzrPL47lWF4Jo7o04dmrenFprxbV72+qLIfUbXBwKez5BoqzoPMEY5Vwp3HynmMzz0xQKbnUCYQ+m/8IRRlwx48Q1sjusIQQHqjC4eRwRhGfbkzkm5gUureoz5d3DWV45ya/bVyaD+l74dgOiP8JUrZBRTGoQOMMueEPQdQI9/9HiLPyzASVnMdfGywhIOFnuPJf0Hqg3SEJITyE1prDmUUs3nOc9YeziEsv5GS5A6Xg5ova8exVvYzN/YUZcHw3pO+G43sgfQ/kJv56oSbdoP+NxrlNUaOgbkO7/pNENUwlKKXUbKAnsERr/cL5tjGj0uEkIvUXbgj8Evr9Dgbddr6XEkJ4Ia01JRUOCkoqKSytoKC0koLSCrIKy9iTmseaAxlk5+fTiEIGNCrnuk4OekaU0qluMRFlS2FOopGIClJ/vWhkB2jZHwbeAi36Qcu+UK8W1SOELWpMUEqpKUCg1nqYUuojpVQXrfXh2rYxK/5IHK8EvElhRBcirnhdisAKUaU0PY5DLw0/68+U1hd0bcW5Xn/ua9d8h572eq1xauNPtNb//cepjd0kGuP7UwJx0oBymqty+lHKVZTzgiqHU+sdTgJHT+sqvCk07mxM07XoC60GQIveUKdBjVEKz2NmBDUGmFv1/QpgJHBm8qmxjVJqJjAToF27dtV25sw/zsnACCqv+JCIkLBq2wnhD06/b3q0DKfEWf3+nZpSlK4xlVT/85peW2N6rPqgqRQEBCgCFKgARYAy/gmq+qoCIEApApUiKFARFBCACgkjIDScwDrhhNZvACFhEFzXeC5dr7mRlE59lQ38PsVMggoHjlV9nwOc7YFQjW201rOAWQDR0dHV/j73GDIeovfJsk4h+O190+/JX2yOSAj3MbOGsgioW/V9vWpeY6ZNLaKS5CSEEP7OTCLZjjFlB9APSDzPNkIIIYRpZqb4FgLrlFKtgMuAG5RSL2itnzpHm4tcHagQQgj/UuMISmtdgLEIYjMwVmu9+4zkdLY2+a4PVQghhD8xtQ9Ka53Lr6v0zruNEEIIYZYUmhJCCOGRJEEJIYTwSJKghBBCeCRJUEIIITyS0hdYw+u8OlUqC0g6R5MmwAk3hXMunhCHxOA9MbTXWje1qnOlVCFw0Krr14In/L8AieNM3hzHWe8dWxJUTZRSMVrraIlDYpAYPKd/iUPicHccMsUnhBDCI0mCEkII4ZE8NUHNsjuAKp4Qh8RgkBjs7/8UieN/SRz/y2VxeOQzKCGEEMJTR1BCCCH8nCQoIYQQHsnWBKWUmq2U2qSUeupC2lgZg1KqgVJqmVJqhVLqO6WUJWdKm/3vVEo1V0rttDmGd5RSV9kRg1IqUim1VCkVo5R634oYqvpprpRaV0MbS343PeG+MNOHP90btYzDsvvDTBzuukeq+rL0PrEtQSmlpgCBWuthQEelVJfzaWN1DMBNwOta64lAOjDJlTHUIo5TXuPX04vdHoNSahTQQmv9g00xzAC+qNpnUV8p5fJ9H0qpSOBTIPwCYz2fvm2/L2rRh1/cG7WJw8r7oxZxWH6PVMVi+X1i5whqDL8ez7GCX0/krW0bS2PQWr+jtV5Z9a9NgUwXx2AqDgCl1DigGOPNwO0xKKWCgQ+ARKXUZDtiALKB3kqphkBbIMWCOBzA9UDBOdqMwZrfTTPXtarvWvXhR/eGqTjccH+YigP33CPghvvEzgQVDhyr+j4HaH6ebayOAQCl1DAgUmu92cUxmIqjavrkaeBxC/o3FQNwCxALvAIMUUr93oYY1gPtgYeAA1XtXEprXWDi0E2rfjc94b6oVR9+cG+YigPr7w+zcVh+j4B77hM7E1QRvw7H61UTi5k2VseAUqoR8CZwh4v7r00cjwPvaK3zbIxhADBLa50OfA6MtSGGvwL3aq2fA+KA210cg1lW/W56wn1hug8/uTfMxmH1/WE2Dk+5R+ACf1ftTFDb+XW41w9IPM82lsZQ9elsHvCE1vpcBW4tjQO4BHhAKbUG6K+U+tCGGI4AHau+j+bcBX+tiiES6KOUCgSGAnZt5LPqd9MT7gtTffjRvWE2DqvvD7NxeMo9Ahf6u6q1tuUfIALYDbyOMQztB7xQQ5sGNsRwH5ALrKn653o7/i7OaL/Gpv8f9THekNYCm4DWNsQwBNiP8clsJVDPwt/RNVVfe7rrd9MT7otaxOEX90Yt/j4svT9qEYfb7pHT/86tuE9srSRRtQpkArBWG8Pi82pjdQzu4AlxSAy1Y1WsnnBfuKsPicN74zDrQuKVUkdCCCE8klSSEEII4ZEkQQkhhPBIkqCEEEJ4JElQQgghPJIkKCGEEB7p/wF9vGAM/c1RFgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y_proba_xgboost_2= y_proba_2\n",
    "fig,(axe1,axe2) = plt.subplots(1,2,sharey = True)\n",
    "for i in range(len(np.unique(y_test_2))):\n",
    "    fpr,tpr,thresholds = roc_curve(y_test_2,y_proba_xgboost_2[:,i],pos_label = i)\n",
    "axe1.plot(fpr,tpr)\n",
    "axe1.plot([0,1],[0,1])\n",
    "axe1.set_title('ROC')\n",
    "axe2.plot(1 - thresholds,tpr,label = 'TPR')\n",
    "axe2.plot(1 - thresholds,fpr,label = 'FPR')\n",
    "plt.xlim(0,)\n",
    "axe2.set_title('KS')\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "9d8a4901",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y_proba_xgboost_3= y_proba_3\n",
    "fig,(axe1,axe2) = plt.subplots(1,2,sharey = True)\n",
    "for i in range(len(np.unique(y_test_3))):\n",
    "    fpr,tpr,thresholds = roc_curve(y_test_3,y_proba_xgboost_3[:,i],pos_label = i)\n",
    "axe1.plot(fpr,tpr)\n",
    "axe1.plot([0,1],[0,1])\n",
    "axe1.set_title('ROC')\n",
    "axe2.plot(1 - thresholds,tpr,label = 'TPR')\n",
    "axe2.plot(1 - thresholds,fpr,label = 'FPR')\n",
    "plt.xlim(0,)\n",
    "axe2.set_title('KS')\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "f2cfccfd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y_proba_xgboost_4= y_proba_4\n",
    "fig,(axe1,axe2) = plt.subplots(1,2,sharey = True)\n",
    "for i in range(len(np.unique(y_test_4))):\n",
    "    fpr,tpr,thresholds = roc_curve(y_test_4,y_proba_xgboost_4[:,i],pos_label = i)\n",
    "axe1.plot(fpr,tpr)\n",
    "axe1.plot([0,1],[0,1])\n",
    "axe1.set_title('ROC')\n",
    "axe2.plot(1 - thresholds,tpr,label = 'TPR')\n",
    "axe2.plot(1 - thresholds,fpr,label = 'FPR')\n",
    "plt.xlim(0,)\n",
    "axe2.set_title('KS')\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "217d8dd7",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y_proba_xgboost_1= y_proba_1\n",
    "y_proba_xgboost_2= y_proba_2\n",
    "y_proba_xgboost_3= y_proba_3\n",
    "y_proba_xgboost_4= y_proba_4\n",
    "fig,(axe1,axe2) = plt.subplots(1,2,sharey = True)\n",
    "for i in range(len(np.unique(y_test_1))):\n",
    "    fpr_1,tpr_1,thresholds_1 = roc_curve(y_test_1,y_proba_xgboost_1[:,i],pos_label = i)\n",
    "for i in range(len(np.unique(y_test_2))):\n",
    "    fpr_2,tpr_2,thresholds_2 = roc_curve(y_test_2,y_proba_xgboost_2[:,i],pos_label = i)\n",
    "for i in range(len(np.unique(y_test_3))):\n",
    "    fpr_3,tpr_3,thresholds_3 = roc_curve(y_test_3,y_proba_xgboost_3[:,i],pos_label = i)\n",
    "for i in range(len(np.unique(y_test_4))):\n",
    "    fpr_4,tpr_4,thresholds_4 = roc_curve(y_test_4,y_proba_xgboost_4[:,i],pos_label = i)    \n",
    "axe1.plot(fpr_1,tpr_1)\n",
    "axe1.plot(fpr_2,tpr_2)\n",
    "axe1.plot(fpr_3,tpr_3)\n",
    "axe1.plot(fpr_4,tpr_4)\n",
    "axe1.plot([0,1],[0,1])\n",
    "axe1.set_title('ROC')\n",
    "axe2.plot(1 - thresholds_1,tpr_1,label = 'TPR')\n",
    "axe2.plot(1 - thresholds_1,fpr_1,label = 'FPR')\n",
    "axe2.plot(1 - thresholds_2,tpr_2,label = 'TPR')\n",
    "axe2.plot(1 - thresholds_2,fpr_2,label = 'FPR')\n",
    "axe2.plot(1 - thresholds_3,tpr_3,label = 'TPR')\n",
    "axe2.plot(1 - thresholds_3,fpr_3,label = 'FPR')\n",
    "axe2.plot(1 - thresholds_4,tpr_4,label = 'TPR')\n",
    "axe2.plot(1 - thresholds_4,fpr_4,label = 'FPR')\n",
    "plt.xlim(0,)\n",
    "axe2.set_title('KS')\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "a132ca11",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.font_manager as fm\n",
    "import matplotlib\n",
    "matplotlib.rcParams['font.sans-serif']=['SimHei']   \n",
    "matplotlib.rcParams['axes.unicode_minus']=False  \n",
    "font={'family':'SimHei',\"size\":18}\n",
    "matplotlib.rc(\"font\",**font)\n",
    "fig=plt.figure(figsize=(5,5))\n",
    "plt.title('ROC曲线')\n",
    "plt.plot(fpr_1,tpr_1,color='g',label=\"ROC_1\")\n",
    "plt.plot(fpr_2,tpr_2,color='r',label=\"ROC_2\")\n",
    "plt.plot(fpr_3,tpr_3,color='b',label=\"ROC_3\")\n",
    "plt.plot(fpr_4,tpr_4,color='y',label=\"ROC_4\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "98a92048",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUcAAAFKCAYAAACO1521AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABUIUlEQVR4nO3dd3gUxRvA8e+kkEIILUDoofciHekigogUEZAmoAjY9WfviopdEVGq9N6LVBEB6YZepLfQQ3pvN78/9hJCOMjdJqSQ9/M89xyZ3Sl7Od7s7szOKK01QgghbuWU3Q0QQoicSIKjEELYIMFRCCFskOAohBA2SHAUQggbJDiKXE0pVVYp1V0pVStVmqdSaqhS6gkHy6qmlCp7h211lFJdlVLVM9pmkTtIcBS5XRtgKfBkqjR3YBLwnoNlfQqcVEoNsLGtHrAceANAKdVYKdXe4daKXEOCo8jtYqzvQanSotJsS5dSqhTQE9gDzLexyxXr+0mllBPwM7BMKVXXseaK3EKCo8h0Sik/pZRWSp2zsW2JdduvqdIeUkptUkpFK6UilFKblVLt7KwuzvoemyotyfpucaDZH1r3H6K1TrCxPSXgaq0tQB8gEXjBgTpELuKS3Q0QeYdS6mWgB+AP/M+a9hQwG7gBTAUKYgSedUqp5lrrPanyFwDypym2kPXdWynla/23s/U9X6q01G5orRNTlVsdGAp8pbU+oZSqArwFjNJan0t7GABa6wClVG0gwXoMu7TWZ+37JESuoLWWl7wy9QX4ARo4lyrtAYyzu2DAz5rmCgRinJWVSbXvAGv+tWnK/c6antFX7VRlugL/AicAd2vaFOt+n6Xar5k1bRrGfcfpwOFUZT6f3Z+7vDL3JZfV4p6znvEtAPIBg/TNs7E6gA9wRGt9MVWW2RiXy62UUipVevI9xBeBwtbXU9a0V1Kl+VjTtqVKKwxstqbHWdvlBiwGGlrLdLfeQxwArAX+UEp9qZRaCiy05h2EcdZb2Jp3ANAUmOXo5yJyNrmsFllhAlAZ+EZrvTJVevL9wspKKS+tdSSA1lorpYoDTtp62maVfC8xWmsdCqCUSn0vMDkt+XudmJxmTU++lE65pAaaY1wqr0+VFgY8CzTCuNzegXHG+CEwVmv9sq2DVEo5aeN+pLgPSHAU95RS6jmgL8ZZ3AdpNh8HTmEEzj+VUi9p6z1GrXW4jeKSbKSZoa11xCmlPsDomDyAcb9zFfCu1vqyUuoPrXUJ63E4A+9jvedp/bkKRnB9yPoaDvyRSW0U2UyCo7iXimIMeQHwJE3vsdY6USnVHyMgNQP8lVKbgI+11v9kRQO11hOT/62U+gvYjnGmS/JZoFKqNFAX47K+s1JqL1ATcMMItGeBXUBIVrRZZA0JjuJe8sIIiBcwOmR6Ydx7TKG13m19uuVjYAjQFtiilJoJDNNax3K7kqmeVCljffdNlZbcW+2Z5okWzzs1VCn1ItACqJ98Ka+UaguswRhUjvVY8gPLMAaZHwTOp7lfKu4X2d0jJK/778XN3moNfAk8av33ccDlLvmKAqOAeGz3Vn+I+R7q1C+/NOU+DSRYy1dAEaAGUB74CugClMbo9NFAWWu+4kAA8CPgkd2fu7wy9yW91eJeug58orVeA2wFqgKD77Sz1jpIa/0+0B4jQHZUSnW0sesQrbXSWivgcWvac6nSXK1pm5PTrOl/pS3Ielk/HeMq6g2MIBkE7AUuaa3f01r/obW+hDE+E6CFUio/Rg92GYxAWsLOz0TkEhIcxb0Uo28Otn7f+v6JUsodQCn1rFJqp7XTJoU27jcmD41pcI/b+DdwGuNyfxzGEy+PAy1TtT2ZP8Y4zeHARqA18BPQWd8+WFzkcnLPUWQJrfU/Sql1QEeMAPQjxj3JpsBRjHt4qSUP8wm7x+26jNFbfhulVFGtdVCqfeOVUouB5GD+hdb6o3vZPpF95MxRZKXkoTzvWQeGb8C4h9dTKVUheSfrGMde1m0b7nWjlFKuSqlKSqlOSql3lFILlVIBwLo0+3WxtguMWwajUm0rfa/bKbKWBEeRZbQxhnEJxhMsb2itjwC/AN7AXqXURKXURIxeYB/ge631iVRFJD8t46qUcrdeniffX3RJleZmTXNKTrOm3/Z9V0qtwHis8RRGz/Qn1rpnYw3mSilv60QZKzCeAf8BozNmrHW7k7X90zP4EYmcJLt7hOR1/72w8Wx1qm01MQZzhwPFrGnDMTpAYoBoYDfGY4Zp835KJvdWA48B/wHfYwwjck21rTRGsAyy5psHeFu3/W5NW4oRJDUwK7s/e3ll3ktZf9FC5HhKqS8xOnbeAhaZKGIWxljGKlrrU3bUNx4jcF8FXtdaz0u1zRnjPukQa1IUUFdrfcZEu0QOJB0yIjdJvly+oU30DiulkgeUe9iZ5WXgCDBFax2VeoPWOgl4Rim1BmMatt8kMN5f5MxRCCFskA4ZIYSwQYKjEELYkCvuOfr4+Gg/P7/sboYQ4j6zZ8+eG1rrYra25Yrg6Ofnh7+/f/o7CiGEA5RS5++0TS6rhRDCBgmOQghhgwRHIYSwQYKjEELYIMFRCCFscCg4KqWKKaUCrGtrOEwp9aRS6qhSKloptUIpZbMLXQghspvdwVEp5YExW3KZ9Pa9Q/5u1vxBwHtAOW4ulC6EEDmKXeMclVJFgZUYCw45TCmlMKaTPwx00FrHKqUWAmeUUo/rWxd6F0KIbGfvmeMAIBHoarKeukAF4FdtXWpTG9PTrwG6mSxTCCHuGXufkFmBMaFnWZP11LK+b02TfhDobLJMIcR9JC4xjlM3DvLX7CVYgo4Qm5ifw82cGdFoBC3Ltczy9tgVHLXWZwGMq2NTClnfz6VJD+QOAVcpNQwYBlCuXDmz9QohcpgkSxL7r+5n7uG5bDizgYvhF/G7EMTQ0hWp2vQsdRsa0yheOe/He4fOUcyzWM4NjpkgOarGpEmPBQrYyqC1nghMBGjUqJFMOilELrfp3CZG7xzN8uPLU9LclSvjjntT4qn8eBQ4Q1ycGyc3tMQSHY16ZAg7nqlDXd+62dLerAqOsRhrbDgBllTpipuzOwsh7jMWbWHcv+NYcHQBW85vAaBXzV40LNmQp8P92LPna/IP3Q/Aps3d6P75UWo+EkvZ1duzsdWGrAqOVzECYWkg9SwYPkBEFrVBCJGFzoWeY+DSgWy9sBV3F3eGPjCUbzt8S+GoJI5+NZS9bUfh1SqcyMiCfDrrNQZd+JZ6xKN+XpXdTQeyLjgetL4359bg2AAjcAoh7hNJliS+3fYtn23+jCSdxHcdvuN/zf+Hk3Iicc5klkePxLtLAJ7AkcOdmRDswvUq3/DCHwrVpw9UqZLdhwBk0eODWusA4AAw3DrmMXns5KPApqxogxDi3gsIC+ChGQ/x/sb3aVqmKQdGHODNB9/EKTqGY592ZFOx5ylYOYArVypy4cJhjlbw4wh/8FdSf5yjYuCVV7L7EFJkSnBUSjVXSj2Zzm6jMNYFnqiU6oQxqNwdY3lLIUQud+T6EVpNbYX/ZX9+6/wbmwZtomaxmsSeP8qyebW42nY9zi6JbNn8Al26nKR6+0jG+Y/jlUYvUWvRFmjeHJo2ze7DSJFZl9XDgS7cZS1hrfUCpZQf8CUwFIgDXtBa782kNgghson/ZX86z+5MgiWBPwf+yYNlHwTg+p9/8G9sfwpVCufqFT8io5bz8Sd1SbQkMnzOcEoVKMWXtIeTY+Djj7P5KG7lUHC0rhV822BHrfVgO/N/q5SaDdQDDmitLzlSvxAi59l1cRcPz3wYN2c3NgzcQMNSDQE4vnAPhxiGT7Fw9v37JMNfXIinp5Fngv8EDlw7wKJei/D8YCr4+MCT6V18Zq0sX0PGGhAlKApxH9h/dT8Pz3yYoh5F+WfIP5QtaDzTsfe7DaxP+JFmD17hxrXGvP7WzTlmQmJC+HTzpzQq1YgnvBrDit7w9tvg7p5dh2GTzOcohDBl58WdtJ/RHk9XT/4e9HdKYIzcvIfp55bRtPka4mOL8USvW8csfrPtG4Kig5j0+CTUpEmgNQwfnh2HcFe5YvVBIUTOsvHsRtrPaE+J/CVYP3A9FQpXAMBy4SIz/F+hR6/tJCZ60qbdQZycboaZS+GX+HnXzwyoO4D6RWrCpE7QpQvkwKWX5cxRCOGQvVf20mN+DyoUqsDe4XupW8L6eF9iIhPGvUDNhtsJDyvBgw8exM3N95a8IzePJMmSxGdtP4MlS+DaNXjxxWw4ivRJcBRC2O1o4FE6zOxAgXwF+OvpvyhVoFTKtlfbrqDqw6tJSMjHwx3O4OlZ6Za8J4JO8Pu+3xnRaIRxpvnbb1C5MnTokNWHYRcJjkIIu4TFhvHo7EfRWrNx0MaUS2mADx7dQuvXX8TJKYmSJcfjmdwtncr3278nn3M+Pmj1AezaBf/8A889B045MwzJPUchRLq01jy97GkCwgLYNHgTVYtWTdn27dATVOv7HEWLXsXdrTO1aw+5LX9QdBCzDs5iQN0BlPAqAW/0BF9feP75rDwMh0hwFEKka8aBGaw4voLP231O6/KtU9KX/nCGhApvUq7cCZxVbZo1tz1pxOS9k4lJjOHlJi/D7t2wbRuMGQMFbM5YmCPkzPNZIUSOEZ0QzXt/vUfFwhV5r+V7KenBAVHM2LyaBx9ciU4qRvMWu2zmT7Qk8uu/v/JQhYeoU6IOjBwJhQvDoEFZdQimSHAUQtzVuxve5UrkFSZ0mYCzk3NK+odv/sLLr70C2olmD/6Li8vt9xkBVp9cTUB4AC81fgmOHoVVq+DVV8HbO6sOwRS5rBZC3NH2gO38svsXhjcczsMVH05Jf+6RtfR5+yO0dqJW7el4eNx5YdLx/uMpVaAUj1d7HAY8Dfnz59jhO6nJmaMQwqZrkdd4buVz+Hr58l2H71LSF02P4LEXBuDsnEj50j9TokT/O5ZxLvQca0+tZegDQ3HZtgPmzjWmJfPxyYpDyBAJjkKI2yQkJdB9fneO3TjGtG7TKOBmdJxYkjQbt35OoUJBeCS2oXL1u58BTtozCaUUQxsMhQkTjHuNH32UFYeQYRIchRC3+XHHj+y8uJPp3afTsXLHlPQvn59Ar37fY0lyplG7P+5aRkJSAlP2T+GxKo9RNjYfLFoEffqAh8e9bn6mkOAohLjFqeBTfLr5Ux6t/Cj969y8ZN60Ooz6j78HaGrWWIyLi9ddy1lxfAVXI68yvOFw+PlniI+H11+/x63PPBIchRAptNYM/2M4zsqZCV0mpKxVf/UqbNo5jAIFQtEhD+Nbqlu6Zc09PJeSXiXpVKw5/PqrMV9j1arp5sspJDgKIVIsOrqIjWc38s3D36RMQQbQq8c52rRbQHy0J227rU63nPC4cNacWkP36t1x/n0KhIcbczbmIhIchRCAscb0yC0jqVKkCiMajUhJ//pr6N2vP0pBnZIf4OTsmm5Zcw7NITohmkF1BsLEidCqFTRqdC+bn+kkOAohAPjjxB8cvn6YD1p9kDLYOzwcpv6+n9q1t+MSXZiSD7yfbjlaa8b7j6e+b32a+F+BkyfhhRfudfMznQRHIQQRcRG8vOZlyniXoXet3gBYLFC9uubd9wcAUKPe73aVdej6IQ5cO8BzDZ5D/fQTVKyY49aHsYc8ISOE4JNNn3Ah7AKbB2/Gw9UYavP661C37jQqVDhC/rgyFC3dw66y5h2eh7Ny5ilLLdi6Fb7/HlxyX6jJfS0WQmSqwKhAxvuPp2/tvikz7ly4ABMnxrBs6QugodaDf9pVltaa+Ufm81CFhygyfT64ucHgwfew9feOXFYLkceN3T2WmMQY3m5xszd58GB4660huLnH4mt5BM8C1e0qa8+VPZwJOcOACt1g5kxj0HfRoveo5feWBEch8rDI+Eh+8/+N9hXaU9+3PgA3bsDePYG0bbMQ5zgXqrZbY3d58w7Pw9XJlZ574yAyMkdPZpseCY5C5GET/CdwI/oGn7f7PCXthRfgy1GP4+RsoVzx13CycxkDrTULjy6kY6VHyD95GtSvD02b3puGZwEJjkLkUfFJ8fyy+xfqFK9D87LNAQgNhf3791Gz5i7yRXtR/oHv7l5IKrsv7eZC2AWGOzWBQ4eMtaitT9jkRtIhI0QetfDIQs6HnWdZn2UpaZ99Bu+8Y8zQXanUZw6Vt+DIAlydXHl4+zWjd7pXr8xsbpaTM0ch8iCtNT/s+IFqRavRpWqXlPRDB1ZQseIh3MO8KFH/f3aXZ9EWFh5dSA/fdrhPnWGMa8ylHTHJJDgKkQdtvbCVfVf38WrTV1Oehlm6FIY8a8yaU6fuCofK23lxJwHhAbx+sYzREfPGG5ne5qwmwVGIPOjjTR9T1KMoA+oOSEn7/ovtlCp1BtcwX7wqtnOovHmH5+Hm7EajLaegcmVo2DCzm5zlJDgKkcccDTzKpnObeKfFOykzfM+fGs2I1wajFFRr9JND5WmtWXpsKQMLt8Fl0xYYMCBXd8Qkk+AoRB7z3fbvyOecj4H1BqakzZm3lDJlTuKaWJliZZ5yqLxdl3ZxMfwiI45bVxMcOPDuGXIJCY5C5CF7Lu9h2v5pvNj4RXy9fAFYukQz8Lm3AKjf/O5LH9iy8MhCXJUL9f88BA8+aEw0cR+Q4ChEHjJ572Q8XDz4qPXNRa7mz5yHj88V3CKqkz9/NYfK01qz5NgSvrhWC+djx+G55zK7ydlGgqMQecSha4eYsn8Kj1d7nMIehQHYtg2693kXraF+i/kOl3nw2kHOhZ7jmY0hUKsWPP10Zjc720hwFCKPGL1zNG7ObozpNCYlbdrvC/D1vYDT1bJ4Fq3rcJnLjy+nyUXwOXYBXnwR7HzUMDew+0iUUm2VUv5KqWil1BalVCVHKlJKFVNKLVJKBSqlwpVS25RSDzneZCGEo0JiQlhwdAFP1HiCEl4lAGMy2zYPvY/W0Ljcj6bKXXBkAW+dLWlMTda/f/oZchG7gqNSqjGwFnAD3gc0sFop5eZAXbOB+sDnwAcYjy6uVUo1cKTBQgjHzTk0h8j4yFvWhpk9exulS58m9FxZPB/s6XCZh68f5vjVI3TeFwlduoC3d2Y2OdvZ+2z1d0Ao0EZrHayUmgScAoYBv6SXWSlVHugAtNNab7Km/Q4EAr2BvQ63XAhhF601Y/8dS5PSTWhWpllKelyM8RRL7WtPmBqXOO/wPB4/qfAMjsi1E9reTbpnjkqpwkArYKrWOhhAax0FzAPSX7zW4Gt9j06VFo9xBhpnd2uFEA5bd3odx24c46XGL6Wk3bgRTcXK/xIeUpQqz310l9x3tujoIl497QM+PtCpU2Y1N8ew57K6hnW/rWnSDwL17KznEMZZ4iilVFlrwP0R8AAce4hTCOGQL7Z8ga+Xb8rCWQArlr6Gk5OFsJ1tTU0Q8V/gfwSfP07LfcHGoO9cuEZMeuw5okLW93Np0gMBH6WUu9Y69m4FaK2jlVIdgS3ABWtyPNBba73HVh6l1DCMy3bKlStnRzOFEGmdCTnDtoBtfPPwN7i5GF0EsbFQvOQCEhNc6f2YuQkilvy3hGf3gXNiEgwblplNzjHsOXNMvhkRnSY9OSAWSLcApRTwEZAPWIxxSZ4IfHWnXm+t9UStdSOtdaNixYrZ0UwhRFpzD80FuOWsccaMVXh5hXHjaA3cWze7U9a7WvLfYp77zwNatoTq9q0vk9vYExyTg2DaO7bJP9vTY90N6Ao8pLV+UmvdF6Pnuih2dOgIIRyXkJTAhD0TaFO+DX6F/FLSXV0+QGt40KmXqY6Y86HnKbBjHxUvx8CgQZnY4pzFnuB41fpeNk26j/U9wo4y2gEHtNbbkhO01ieB5UALO/ILIRy0PWA7AeEBDGt487J35cod+FU4QOhVX8oNesVUucuOLeN5f0gqVBD69cus5uY49gTHk0AM0DxNegMgRmsdZkcZCnC1ke6JLNUgxD0x+9BsPFw86Fqta0rajcBXUAoqHuhoelzirn+X8uRRcH52KHh6ZlZzc5x0g6PWOh5YDwxRSrkDKKVcgT7AZjvrOQ/UUkql9G4rpWoBXYD9DrZZCJGO61HXmXVwFr1r9cYrnxcAJ09GUt5vD6E3ilPv1a9MlRsRF0HVZVtx1ty3HTHJ7H188BugMjBfKdUJo1OlLDAOQCnVXCn15F3yzwcigd1KqU1KqS3APiA/8KnJtgsh7uDX3b8SmxjLuy3fTUlbsuQjnJw0+Q40gJIlTZW7/sgKXtyZRFD75lC1amY1N0eyKzhqrXcAg4D2wBrgMWCk1jp5jOJwYPxd8l8E2gJ/Aw8AzYDTwDNa6z/NNl4IcbvwuHDG7xlPx8odqe5zsye5Ro0ZJCU506nxs6bLvjx7HMWiodBbH2dGU3M0u+/3aa1nKaXWAE2Ak1rrU6m2DbYj/z7g/htGL0QOM3b3WK5HXefTNp+mpG3aNANv72DO+jfA6ZWud858FwlJCVRbtYvgop4U6fBIJrU253JofiGtdZDWek3qwCiEyDniEuMYvXM0j1R6hKZlmqakBwWNRGuosL8L5Mtnquzd/8zj4eOJBD7Z+b6amuxO7v8jFCIPmX9kPoHRgbze7PWUtKiosxQpcpqL56vS9nnzZ3wxY3/C4gTl3hmVGU3N8SQ4CnEf+WX3L1T3qU6Hih1S0jZufBOl4OyCjtA87Yg8++i4OOqvO4B/A188KlTJrObmaBIchbhPHLx2EP/L/gyqNwhnJ+eUdLd8a4iN9WRoheKmL4fPzxiDT6SF8EGOrUyYm0lwFOI+8fPOn3FWzgypPyQlLSBgK/ncYji2tyml3hpgumzLxAmcLwh1B76ZGU3NFSQ4CnEfiIqPYv6R+QyqNyhlGQSAzX+PBcDNvwH4+Zkr/NgxKvqfZk2b0vgWLJ0Jrc0dJDgKcR9YdXIVUQlRDKw38Jb0goU2kJTkzJDB5pdrCp80liQF8YPurzVi0iPBUYj7wJR9UyhdoDStyrVKSTt7dhsFvIM4faQB7p1N9lLHxuL6+zSWV4NObcwPHs+NJDgKkcudDj7NutPrGFB3wC0dMf7/Gs9PW3Y8ZH6m7qVL8QiLYlX7slQten8/LpiWzIgjRC7367+/4urkyouNX0xJs1gsFC6ynpgYTwY82th02QnjfyOgMJTsZr4zJ7eSM0chcrEkSxLzDs+jU+VOlC14c8rVgIDpuLgksG9rB7x6mLykvngR1y1b+f0B6FazRya1OPeQ4ChELrbu9DquRF6hT60+t6QfPvQDWkPi2oegQLormdi2eDEAOxoWp2Gphhltaq4jl9VC5GI/7fyJkl4l6VmzZ0qaxZKIh8cxgoN9eeGzJuYK1hrLpEnsLe1EjTZP4qTy3nlU3jtiIe4TZ0LOsOHMBkY0GoG7i3tK+oULv+LknMTeHY/g81jTu5RwFwcO4HTkCJPrW+hevXvmNDiXkeAoRC619L+lAAyoe2tnyamTo7BYFNHbzS2gBcC8eSQ5KdY/UIA2fm0y2tRcSYKjELnU9APTaVyqMRULV0xJi4o6jrPLdU6caMCwD2qaK1hr9Pz5bK7sQvMHHiefs7kpznI7CY5C5EK7Lu7i0PVDDK4/+Jb0gICfUAo2Lh9Cjccq2s6cnp07UefOMa1mAt2rdc9wW3MrCY5C5EIfb/qYoh5F6Vfn1qVRL55bicXihHtwqzvktMOcOSTkc2Z1LVc6Vc67k/dLcBQilwkIC2D96fW83ORlCrkXSkm3WBJxyneFa9fK8tnYUuYKT0xEz5/P+pruNK3ZgQJuJocB3QckOAqRy8w9PBfgtrPG69fn4uSk+e9ACyo09jFX+F9/oQIDmVQtKk9fUoMERyFyFa01U/ZNoUXZFlQpeuuM3Ef2GuvEXDowyHwFs2cTm9+dtVXg8WqPZ7C1uZsERyFykd2XdnM86DhP13v6lnSLxYJyO0tQUElefNvkwO/YWFi2jLX189OwwoP4evlmQotzLwmOQuQi4/eMx93FnZ41et6SHhy0CifnJA7tb02DdoXMFb54MURE8EulILpV65bxxuZyEhyFyCUCwgKYdXAWA+oMoKhn0Vu2Hdv/MwDn92RgjZfJkwktU4y//cizT8WkJsFRiFziq61fobXmjQffuG1bZPxu4uPd6NGzhbnCr16FzZtZ3ig/1YvXyHNzN9oiwVGIXCDRksicQ3PoXas31X2q37It7Oxq3DwjOHWyPt2GFjNXwdKloDU/lL4gZ41WEhyFyAXWnVpHWFzYbfcaAfb88z1KwdG9r5ivYNEiwiqU5JBP3p1oIi0JjkLkApP3TaZ4/uI2h9dEeB7FYnHi6WF9bOS0Q2AgbNrE+ge8KeVdikalGmWwtfcHCY5C5HDXo67zx4k/GFh34G2TQCTEBOJd9BqXL1ekSVPnO5SQjmXLwGLhh1Ln6VatW56cu9EW+RSEyOFmHphJoiWRIfWH3LZt2+LvUApOHcrAgO1Fi4gsX5JdRWPlkjoVCY5C5HBLjy2ldvHa1Cpe67Ztx6/uA6B1y8fMFR4aChs3sqWhD97u3rT1a2u+ofcZCY5C5GDnQs+xLWCbzUHZ8RFx+PgdJinRmYceb2+ugnXrIDGRsb4XeKzKY3l27kZbJDgKkYPNOzwPgKENht62bdKb2ylS9CpRYRXMV7ByJQlFCrLOJ0wuqdOQ4ChEDjb38FyalG6CXyG/27ad1ytRCspXGmyu8MREWLOG/Q1K4+KaL0/P3WiLBEchcqj9V/dz8NpB+tXud/vGpCRqNF2P1lCz1ovmKti2DYKDmV7mBu0rtMfbzTtjDb7P2B0clVJtlVL+SqlopdQWpVQls5UqpZ5XSlmUUs3MliHE/W6C/wTcXdxvm4EHYP80f8r5HSM6wgdX10LmKli9GourC9NKXpdLahvsCo5KqcbAWsANeB/QwGqllJujFSqlfIGvgKla652O5hciL4iIi2DWoVn0qdWHwh6Fb9v+55Y/cXZOIjHRZEcMwIoVnK9Tlmg3RddqXTPQ2vuTvWeO3wGhQBut9WigM+ANDDNR5xjAArxjIq8QecKcQ3OIjI9kRKMRt29MSsKp6j8ANGvxgrkKLlyAY8dYXiGeZmWa5fm5G21JNzgqpQoDrTDO9IIBtNZRwDzAoUnflFKdgV7AB1rrG443V4j7n9aaCXsmULdEXZqWbnrb9uvr9lG17m4SEtwoUaK1uUqWGmte/1byklxS34E9Z441rPttTZN+EKhnb0VKKU/gV+AscEYp1VEp5WVvfiHyin8v/8u+q/sY0XAESqnbtv82+gheXqHERDcwX8mSJQRW9OWkDzxZ88kMtPb+ZU9wLGR9P5cmPRDwUUq521nXW4AfUAGYAawEziqlHra1s1JqmLUDyD8wMNDOKoTI/Sb4TyC/a3761+1/+0atSaq7AaWg/gPDzVVw7Rr88w/Laioal2pMxcIm17e+z9kTHJP/dEWnSY+1vqe7dqP1DPF/GPctG2utSwBlMM4+lyqlSqfNo7WeqLVupLVuVKyYyTnqhMhlQmNDmXt4Lv3q9LM5tOby6n3Ubfo3FosTZcrYCJ72WL4ctOaXMlfoXat3Blt8/7InOCYHwbTn98k/29Nj3RKjA+cHrbU/gNb6OvA64AV0t6MMIe57sw7OIiYxhuENbZ8V/vDDBXx8LpEQVxEnJxdzlSxZQkjpohwqIZfUd2NPcLxqfS+bJj15YdwIO8ooYn3fnCb9pPX9tjNHIfIarTXj/cfTqFQjGpZqaHMf34cmoBTUrP2muUpCQ+Gvv1hfLz+1S9S2+eSNMNgTHE8CMUDzNOkNgBitdZgdZVyxvus06SWs73JTUeR52wO2cyTwCCMa2hi+A1gCLlGt7i4SEvJRtqzJ+40rV0JiIr+UvkTnyp0z0Nr7X7rBUWsdD6wHhiR3viilXIE+3H4meCe7Me5Z9kqT/oz1/W87yxHivjVhzwS83bx5qrbtFQQ3TVxPgQIhhAbVNF/J4sVElSjC9pJJ9Kx5+5IL4iZ7b1p8gzGUZ75SahzwAsZl9ksASqnmQGmt9SJbmbXWUUqpL4BRSqlCwHagCTAEWKS13p+RgxAit4uMj2Txf4vpX6c/+fPlt7nP0ci/qK0gn8ftjxPaJS4ONmxgS/NilC7kKcshpMOu4Ki13qGUGgSMB7piPOEyUmu9wrrLcKALYDM4Wsv4Sil1BSOg9sS4VzkOeNt884W4Pyz9bynRCdE2n6MGIC4Oj8pH0BratetrrpItWyAqikm+8XSvNlyWQ0iH3d1dWutZSqk1GGd8J7XWp1JtG2xnGdOAaY41UYj739zDcylfsDwtytped9qyaQulKp4gJqYA3t4mH/VbtYokN1fWlktgVY0nMtDavMGhPx1a6yCt9ZrUgVEIkTGBUYGsP72ep2o/ZfOJGIAFM3fh7h5NaEhd8xWtXs3Bmj54FSpGq/KtzJeTR8h5tRDZbP6R+STpJPrWvvPl8o3axlMx9eq/b66Skyfh5Enmlg2lS9UuuJgdI5mHSHAUIpvNODCDeiXqUbeE7bPCxMPHqFBnH7GxHtSqZXL4zapVACysEEOXql3MNjVPkeAoRDY6duMY/17+l/51+t/xknrGNzvw9AwnMvz21Qfttno118oW4VJRVzpU7GC+nDxEgqMQ2WjOoTk4KScG1ht4x30u+f6JUlCtxu3rVtslOBi9cSPLqlp4qMJDFHBLdzoEgQRHIbKN1pq5h+fSzq/dHSebTbx0jaoNt2GxKGrVMjO3NLB6NSopid8rhPKE9FLbTYKjENlk75W9nAo+dccnYgCmfbKf4iUuEBleIUMTTYT7FGBPKeR+owMkOAqRTWYfmo2rk+tdz+aOxG9CKShT9s4B9K4iImDtWv6o6UoLv1aUKlDKZGvzHunPFyIbJFoSmXd4Hp0qd6KIRxGb+1iiY6nVejVaQ+06r5qraONGiIlhYoUYulVzaFWTPE/OHIXIBnMPzeVK5BWeeeCZO+6z5Ct/KlU6RFR4SfLlK26uop07SXJ2YmcZmbvRURIchchiWmtGbR1FdZ/qPF718TvudzhwMUppihS+c092utau5XAFT+qWb0z5QuXNl5MHSXAUIottvbCVYzeO8faDb+Ps5Gx7J60p32gDWkOjZm+Zq+jiRdi/nzl+kdJLbYLccxQii03YMwEPFw961Uo7velNZ1cfoqzfMSLDfciXz+eO+93VvHkALK4Bq6r3MFdGHiZnjkJkocsRl5l7eC4jGo3AK9+dVyaevXgNLi6J6MSHzFc2Zw7HKnjjWq061XyqmS8nj5LgKEQWmn1wNhZtueMCWsmKNViC1tC2w6fmKrp4EfbtY1qVSLpW7WqujDxOgqMQWcSiLUzYM4GW5Vre9UwuPCCMStX3Eh1ZCG/vGuYqW7rUeKtqkeVXTZLgKEQW+fP0n5wOOc3QB4bedb95Py7BxSWRiKBm5ivbvJmrPu4kVqlIg5INzJeTh0lwFCKLjNk9Bl8v37s+LggQWWQxAPWamHyWOjYWy7q1rCwXS7/a/e4424+4OwmOQmSBoOgg/jz9J0/Vego3F7c77meJiqFGw03Ex7tRrbrJJ1r+/BOnyCgW1STdQCzuTIKjEFlg2v5pJFgSeLbBs3fdb8nXk/HwjCLwUmOcnEz+91y8mAhPFy48UJFaxTMwB2QeJ8FRiCyw7vQ6qhWtRu3ite+630UPY0HPug0/M1dRQgKW5ctZWiWJnvVNrlIoAAmOQtxzRwOP8ueZP9PtNbb8d5xKdfxJiHejTl2T4xu3bMEpNJQl1TUD62bgsUMhwVGIe+2bbd/g5uzGi41fvOt+y7+fh5dXKCHB9cxXtmwZsa6KsNZNZOB3BklwFOIeOn7jOLMPzub5Rs9TwqvEnXfUmoAK/6AUlPN7w1xlWhO3bDHrKmp6NR5krgyRQoKjEPfQ6J2jcXFy4a0W6UweceQIlRvsJC7OnWbNTA7aPn4ct4tXWF/N5a7LvAr7SHAU4h5JSEpg/pH5dK/ePd0ZuLcvmImnZxQXL7QxXV/SurUA6Ec6UNijsOlyhEGCoxD3yIwDMwiJDbHrLO4/j+0AlCz9vun6glcu4GwhePihuz+BI+wjwVGIe8CiLXy97WvqlahH12rpTPxw/To+NY6SmODKI4+0NFdhTAze/+xmXXVXOlbqaK4McQsJjkLcA1svbOVU8CneaP5Guo/vLf9uHd4Fg7l+tQ4uLub+S8atW41bfBIxndqTP19+U2WIW0lwFOIeGLNrDN5u3nSv3j3dff/zWIpSUKP23acxu5vrk34i2B3q9n7ZdBniVhIchchkYbFhrDq5iqfrPk0BtwJ33ffyrgvUbvIXiQmu1Ktn8l5hWBgl/tzJ8gfcaVPtEXNliNtIcBQiky04soDYxFiervd0uvtO+G0FXl7hxEY0N/0sddzcWeRLSOJ6z0dxcZKVTzKLfJJCZLJpB6ZRw6cGjUo1uvuOWuNZdQ0ALdqNMl1f8OzJRBaBJj1eMl2GuJ2cOQqRiQ5eO8j2gO0Mrj843Y6YjWOPULv+PyQmulK4cAtzFYaF4bPzIH/X8qS1n/kxkuJ2EhyFyEQT90wkn3M+hjZI//7h7JX7yZ8/AldlPqiFL1uAa6KF+B5d77zMqzBFLquFyCRB0UFM3T+V/nX6U8SjyN131prqbWcDULfBB6brvD7jN2LyQ+veJte2Fndk95mjUqqtUspfKRWtlNqilKqUkYqVUqOUUucyUoYQOcl4//FEJ0TzRvP0J47YNuEwNettIyHejcKF25qrMCKCMv8c4O9GRalbWtaJyWx2BUelVGNgLeAGvA9oYLVS6s7zvd+9vDrAm2byCpETRSdEM2b3GB6t/Khds29PX7nTuKR2MnmvEbg8ZwLuCRqekqUQ7gV7zxy/A0KBNlrr0UBnwBtweAUgpZQTMAm5pBf3kVkHZ3E96jqvNH0l/Z0tFqq2WQBAgybfmK4zbPpEAryhbT/zz2OLO0s3OCqlCgOtgKla62AArXUUMA8wswLQS0BdYI6JvELkOBZt4eutX1O7eG0eqZT+IOwZH5+kes1/SUzIh7d3OsN97lRnRDgV/j3J3mbl8fW++4w/whx7zhxrWPfbmib9IODQlMVKqbLAF8AnwClH8gqRUy08spCzoWd5r+V7OKn0/0ut/+cA+fOH4ene2HSdR2b8gHsiFHgq/YHmwhx7gmMh6/u5NOmBgI9Syt2B+n4DjgM/prejUmqYtQPIPzAw0IEqhMhaE/ZMoFLhSumuEQNAUhJ1O021PkttfuB3yJLZhLlD86ekl/pesSc4Jo9kjU6THmt9v/vDo8mFKNUb6Ag8q7VOSm9/rfVErXUjrXWjYsWK2VOFEFlu/9X9/H3ubwbVG2TXo3sXFu2i7gNbiI/zoHDh1qbqTIiOpO72MxxpWhEPD7v++wkT7AmOyUEw7XD/5J/T7bFWShUCfga+0VoftLt1QuRw4/3H4+HiwUtN7Ht0b8a0w7i7RxMX09x0nXsW/0KhWI1zH+mlvpfsCY5Xre9l06T7WN8j7CjjW4wgO14p5aOU8gE8ASfrz152tVaIHCQ8Lpw5h+bwZM0n7VuWQGviKu8AoHa9AabrvTz/d+Kc4YG+/zNdhkifPcNpTgIxQHNgc6r0BkCM1jrMjjIeAcoDF21sCwSmA4PtKEeIHGPqvqlExEfYN3wHOLzqPPXarMNiUZQt28tUnRFxEdTcfYb/apegfqGipsoQ9kn3zFFrHQ+sB4Ykd74opVyBPtwaLO+mP9AhzWsmcM36728dbrkQ2SjJksSY3WNoUbZF+rPvWP0+bS1Fi17BEtcQFxdzF0srVv1I9UBNoZ79TeUX9rN3IPY3GEN55iulxgEvYFxmvwSglGoOlNZaL7KVWWu9LW2aUqolEKu13mCm4UJkp+XHl3Mm5AzfPGzfIG5LkqZ6+8kANGs1zVSdWmvOz/kNgPL9XjBVhrCfXU/IaK13AIOA9sAa4DFgpNZ6hXWX4cD4e9JCIXKgyXsnU65gObuWQQCY9fkpKlY+SFxMQby80n+80JYNZzbQdO91QiuWQlXK0NQGwg52TzyhtZ6Fcd+wM1BNa/1Jqm2DtdY+d8xsu7xPtdZ+juQRIicIiw1j49mNdKnSxe6Ztw9fmYirawI+hZ4wXe+MP7+j7TnwkoHfWcKh55u11kEYZ45C5FmT904mLimOAXXt63GOj06kRrPVaA31m4w2Veep4FMUXPknzhroZ76nW9hPJrsVwgGR8ZF8ve1r2vm1o3lZ+8Yqjn7lJGXKnCQuuiguLt6m6v1196/0OQIJNatDLXOX5cIxEhyFcMCMAzO4EX2Dz9p+Znee7af9cXVNwNf3IVN1RsRF8Offk2l1Hlz7Si91VpHgKIQDJu6ZSIOSDWhZrqVd+wefj6BL/+8BKF/R3AJYMw7M4PE9kcYP/fqZKkM4ToKjEHbacGYDB64d4Jn6z6S7eFaykQP3U7HiYeJjfEw9S23RFn7Z/QuDTnpC06ZQsaLDZQhzJDgKYadvt31LSa+Sdi2eBUBUFPFVluPkZMGvkp150vjz9J/EnzxO9QvR0LOnqTKEORIchbDD+tPr+fPMn7zS9BXcXOxbHWTvDxtp33k2FosTFSt+ZKreMbvHMPi0deadXuYeORTmSHAUwg6fb/mc0gVK81qz1+zO8/PCEIoUuYrW9XFx8XS4zpNBJ1l9cjXPHc8PTZqAn5/DZQjzJDgKkY6/z/7N1gtbeevBt3B3sW9u58R9hyjfbTVKQZ0675mq99d/f6VOkAslT12VjphsIMFRiLuwaAtv/fkWZbzL8FzD5+zON/bV4zR78A+Sklzx8XH8qZiIuAim7JvC55erg5MT9OnjcBkiY2QFQCHuYsq+Key5sofZT8zG09XOS+PYWLYRSH3PKDw8HsXJyfFzkOkHphMZG0GnnTfgkUfA19fhMkTGyJmjEHcQEhPCuxvepWW5lvSt3dfufDu+3kzrXrPQGmrVcnw2vuThO8/F1cLt0lUYONDhMkTGSXAU4g4++vsjQmJDGNNpjN3jGgG+Gp+PmjV3oSiKl1dth+tdf3o9J4JO8Ma5UuDuDl26OFyGyDi5rBbChtPBpxnvP57nGjzHAyUfcCDjaWoNnIazcxLlyg0zVfeYXWMo5+5LlfX+0KMHeJt7HltkjJw5CmHDTzt/wsXJhU/afJL+zqn88cpS2necQ2KCG35+Ix2u90TQCdacWsP38W1RISFySZ2NJDgKkUZITAgzD86kZ82elCxQ0v6M8fFcarMEF5dE8nv9Dyc753pMbezuseRzzkfXzVehVCmjM0ZkCwmOQqQxZtcYwuPCebP5mw7li5+3gEoN/iUyshDNm49yuN7wuHCm7p/KS8Uew+2vTTBsGDg7O1yOyBwSHIVIJTohmjG7x9ClahfH7jUC09f8jYtLIjcCu5mqe+KeiUTGR/LG0cLG2MZnnjFVjsgcEhyFSGWC/wSCY4J5relrjmU8exa39tvQGjo96vgTMSExIXy77Vs6lm9PqUVroVMnKJt2qXiRlSQ4CmEVHBPMqK2jaOfXjocqODYxbciE3yhb6Thhob74+lZzuO4fdvxAYHQgv/IYXL5sXFKLbCXBUQirDzd+aJzBdfjWoXGNxMWxXG1HKQgOcew+JRhLL/z67688UeMJKs1bByVLwmOPOVyOyFwSHIUAjgYeZdLeSQxrOIxGpRo5lnnuXIq3OkhiogsDBrzucN2/7v6V0NhQPirZF9atg2efBRcZgpzdJDiKPM+iLTy99Gk8XDz4qLXj8y7OX70NT89ILl58iHz5HPsvFRITwtfbvuaRSo9Qf/lOIyg+/7zDbRCZT/48iTxv5oGZ7Lmyh+ndpzs2rhFgxw7CW+2luIYWLb5zuO5vtn1DWGwY37f6Al7tBN27G+MbRbaTM0eRp4XFhvHOhndoUrqJ3etQp9CaI6+NpWLNA0RG+lClSl2Hsl+JuMKYXWPoW6cvdfYEQHAwDDW3nILIfHLmKPK0H3f8yPWo66zqtwon5eC5wurVzCrnTUfnJNzc7J+1J9nnWz4nwZLAyLYjofdwoyOmfXuHyxH3hgRHkWfFJsYyzn8cnat0pmGpho5lTkwk+o2PaPjFVbSGtm0/dSj72ZCzTN47maEPDKXSyRvw11/w/ffSEZODyGW1yLMm7plIYHQgbzR/w/HMc+Ywu2xpfHyuEBTUnnz5ijiU/ccdPwLwYesP4ccfoUABGduYw0hwFHlSSEwIIzePpK1fW9r6tXUsc0IC8Z+OIl//U2gNLVv+7nDdU/dPpW+dvpSOd4OlS43hOwUKONYOcU9JcBR5TkJSAt3ndycsLowfHvnBsQHfAPPm8ZlvJ8qVP0Z4eFV8fcs7lP3rrV8TlRBlTGwxaxYkJBjBUeQocoND5DnvbniXLee3MKbTGBqUbOBYZouFG1+Op9FXJwFo3/4Ph7JfCLvA6F2jGVRvEHV8asL4XtC4MdR2fMZwcW/JmaPIU/4L/I+fdv7Esw88y8tNX3a8gKVL+bVuVQoXDiQy8mG8vKo4lH3kZmMC3JHtRsKCBXD8OLz9tuPtEPecBEeRp7y/8X0KuBXg83afm8p/+stZNB68kKQkZzp1WuhQ3uM3jjNt/zReaPQC5QqWg99+g8qV4QnHl24V954ER5FnrDu1jmXHlvFq01cdfxIGYPduRpZqjKdnFFFRj+LqWsih7F/88wXuLu681+o92LEDtm41HhU0sXSruPfknqPIE4Jjghm6cijlCpbj3ZbvmirjyNcr6P38GCwWJx55ZJxDeXdf2s3sg7P5X/P/UTx/cfhmGPj4wHPPmWqLuPfs/pOllGqrlPJXSkUrpbYopSo5UpFSykMpNVopdVUplaCUOqWUkusJkSX+t+5/XI64zLRu0/B09XS8gEuXGBvuQv78ESQmdsDdvYzdWWMSYhiwZAClvUsb4xoPHICVK43AKMN3ciy7gqNSqjGwFnAD3gc0sFop5eZAXROA54H5wItAJLBQKdXUoRYL4aA5h+Yw/cB03mj+Bu0qtHO8AK0Jfu5tWj0zHa2hVasJDmX/bvt3nAw+yeTHJ1PIvRD8/LOxHvUbJgafiyxj75njd0Ao0EZrPRroDHgDdg3pV0rVBQYCvbXWr2qtJwKPAEnAEAfbLITd/C/78+yKZ2lVrhVfPvSluUIWLOCHhCKULHmOqKj6eHjYP65x35V9fLHlC56s+SQdK3eEkBCYO9dYcrVoUXPtEVki3eColCoMtAKmaq2DAbTWUcA8wN6VhDTwutZ6eUqC1teB60AxRxsthD2uRV6jy5wuFM9fnMW9F+Pq7Op4IUlJLP5wC63fnIzWTrRtu8TurBZt4eU1L+Pt5s3ELhONxMmTITZW5mzMBezpkKmBEUS3pkk/CNg1x5PW+hBwKHWaUsoXKAUcsacMIRyhtWbEqhGExYWxY8AOiuU3+Td4yhQO9wykjVssHh7v4uVVwe6sv+/9nW0B25jabSqFPQrDuXPw2WfQoQPUq2euPSLL2HNZXcj6fi5NeiDgo5RyN1n364AFmGNro1JqmLUDyD8wMNBkFSKvmrJvCsuOLePj1h9T37e+uUKio1nx7RpaPbKY+HgPGje2f2zktchrvL3hbdqUb8OgeoOMxC+/hMREmDTJXHtElrInOCY/eBqdJj3W+u5wd5tSqhrwMjBDa33M1j5a64la60Za60bFismVt7BfRFwEH/79IQ+WfZB3Wr5jvqCxYzk/NAgnJws+PmNwcrJ/5Nsb698gOiGa8V3GG89uX7gAM2bA4MFQ3rFnsUX2sCc4JgfBtE/nJ//sSI81SilnYBoQAji+VJsQ6fhw44dcjbzK9x2+d3wC22QnTzJlpj+1m2whJqYgDRrYP0P3+tPrmX1oNu+0eIfqPtWNxK++Aq3h/ffNtUdkOXu+OVet72lXGPexvkc4WOfnQBNgYHIHjxCZZUfADsb+O5YRDUfQvGxzc4UkJvJf9zfx+XIDAJUqzbI7a1hsGM+tfI4qRarwQasPjMRr12DqVBgyBMqVM9cmkeXsCY4ngRgg7TetARCjtQ6ztzKlVA/gXeBTrfVGu1sphB3CYsPot6Qf5QqW4+uHvzZf0LhxzGvvhbd3CLGxvahatYvdWV9d+yoXwy8yo8cM3FysF1UffADx8fC//5lvk8hy6QZHrXU8sB4Yktz5opRyBfoAm+2tSCnVDJgF/AF8Yaq1QtyB1ppBywYREBbAnCfmUNC9oLmCoqOZ98s/tO0xh/h4Dzp0mGZ31l0XdzH9wHTea/kezco0MxL9/WHKFHjlFahWzVybRLaw9w7zNxhDeeYrpcYBL2BcZr8EoJRqDpTWWi+ylVkplQ9jXKQLsA7on2qC0Uit9TKzByAEwDj/cSw/vpxRD40yfzkNMG4cUW8ZfYTFi8/GxcW+Rw3D48IZtGwQvl6+vN3COgWZxWIExeLFYeRI820S2UNrbdcLY0xjJMaA7iTgs1TbpgE37pK3gTWfrde59Opu2LChFuJOTtw4ofN/mV93mNFBWywW8wUFBOix7fvqjRvRixbWdCjrwCUDtfNnznrT2U03E2fM0Bq0njLFfJvEPQX46zvEHbvHJmitZyml1mB0ppzUWp9KtW1wOnn3cntvtxAZFhkfSZe5XXB1dmVy18mOL3mQTGssQ5/B77VdaK1o1nyF3VnXnlrLzIMzea/le7Txa2MkBgYa9xibNIFBg8y1SWQrh8Y5aK2DtNZrUgdGIbKLtt5nPBF0gildpxgTyJr1++/MaRxIfq9wTp3qQenS9k06FRgVyNNLn6ZWsVp83Objmxteew3Cw43HBWW+xlxJ5nMUudbPu35myX9L+L7D9/So0cN8QSdP4r/3fUr3CiQkpDj9+s21K5vWmlfXvkpwTDB/Pf0X7i7Wh8WWL4c5c+Cdd6BOHfPtEtlK/qSJXOnA1QN89PdHPFr5Uf7XPANDZCwWLr45gIhegcTGehIefgAvr3x2ZZ15cCZzD8/ls7afUaeENQhGRsLQoVC/Pnz6qfl2iWwnwVHkOhvPbqTNtDYUdi/Mb4/9Zv4+I2D59mv2DDgDwN69cxk0yNeufBfDL/LS6pdoXb71rTOLjx4NN27A+PHGnI0i15LgKHKVMyFn6Lu4L8XyF2PLkC34FfLLQGFn2BY8hoLFbnDgQGc++KCrXdmSLEkMWT6EBEsCU7tNxdnJ2dgQGAjffgvdu0NTmcM5t5PgKHKN0NhQuszpQlxiHCv7rsxYYASCRj9N4qPXiIwsSP36S+3O9/5f77PhzAZGdxxNxcIVb254+22IioJRozLULpEzSHAUuUKiJZEe83vw343/mNlj5s0JHUxKWDSNfZ13o7Vi6dJVtG1r333GeYfn8e32b3m+0fMMbzT85oaFC2HaNCNA1qiRobaJnEGCo8jxLNpC38V92XRuE5Mfn8zj1R7PWHkTxrEjejgu7gnMm/ch48a1sCvfgasHeGb5M7Qs15LRnUbf3BAYCC+9BI0ayZMw9xEZyiNyNIu28OyKZ1l0dBGft/ucZxs8m7ECjx5lR8Q7WKrFc+RIMx57bCT57DhpDIoOovv87hTxKMLCXgvJ52zNpLWximBoKGzYAK4mlmIQOZKcOYocbdQ/o5i2fxrvtnj35hRgZsXEcPKtgcQ3jCAwsDTh4dvoZscqSFHxUXSe05lL4ZdY0mcJvl6perQXLjTGNX7xhYxpvM9IcBQ51rJjy/jo74/oV6cfo9qPytCQHYDjT7/BsRHGsJ2zZ5fy3nvpf/211jy38jn8L/szp+ccmpRucnPjhQvw8stQty68+mqG2iZyHgmOIkeasm8KTy54kialmzD+sfEZDoyRi1ZwtO8ivLxCuXZtBG+/3diufKP+GcXcw3MZ2XYkT9Z88uaGmBhjedXoaGOpVXuuzUWuIsFR5DgzD8zk2RXPUrt4bVb3W00BN4eXKbrVtm3MPfkFhYsEcvFCT556aly6WbTWfPL3J3z494f0r9Of91q9l3oj9O8PW7bAuHFQs2bG2idyJAmOIkeZe2gug5cPpn2F9ux4dgdFPTO48P2VK/w0ZhyVm/1LcHAp+vZfkG4WrTXvbniXkVtGMqT+EKZ3n37rWjSjRsHSpfDddzDArtWJRS4kvdUixxjvP54XVr1A6/KtWf7UcjxcPTJWYHg4y98aQr3h67FYnGjbdhcuLnc/H9Ba89ra1xizewzPN3qesZ3H3hoYZ82CDz80zhzfeCNj7RM5mpw5ihxh3uF5vLzmZdr4tWFl35Xkz5c/YwUGBrKvb0+8n10HKDw951CkSJm7ZrFoCyP+GMGY3WN4relr/Nr511sD46FD8Pzz0KIF/P47ZPA+qMjZJDiKbKW15ostX9B3cV8almzI4t6LM36PMTGRP154naDXNwFw5sxSmjfvc9cssYmxDF0xlIl7J/L2g2/zY8cfb+0Eio42Vg90czPOHt0cWpFY5EJyWS2y1cd/f8wX/3zBU7WfYkrXKRm+lLYEXOLDlybx8KtzAc2NG6MZOvTuE0ocDTxK17ldOR1ymo9bf8ynbT+9NTAmJEDv3rB3LyxZAn5+GWqjyB0kOIpskWRJ4o31b/Dzrp8Z+sBQJj4+McPDdZg7l3fm76Lza2OwWJxwdl5Jr16d75plw5kN9F7YGzcXN9b2X0vHyh1v3SE2Fnr0gLVr4bffjBl3RJ4gwVFkuYi4CPou7suqk6sY3nA4v3b+NVMC4/QjP9D51T1Yklyo/8Amiha9+zPTk/ZM4sXVL1LNpxrL+iyjUpE0SyMkJRmPBq5dCxMnGv8WeYYER5GlLoZfpMucLhy+fphxj41jRKMRGSvQYoFvv+X3S6uo1HMP4eFFaNrUn6JFK9wxS2R8JC+tfonpB6bTsVJH5j05j0LuhW7dKSzM6JFetcqYTEICY54jwVFkmS3nt9BvcT9CYkNY1W/V7ZewjgoOhkGDmFA/lGo9txIb64m393FKlPC5Y5bzoefpuaAne6/s5cNWH/Jp209vTlab7PJl6NABTpyAX34xZtwReY4ER3HPJVmS+GnnT7z959uUL1SerUO28kDJBzJW6NatJD7dmxVfKKqVukxoaHEqVfqPOnWK3DHLjoAd9Jjfg5jEGBb1XsQTNZ64fadLl6BdO7hyBdatg4ceylg7Ra4lwVHcUwFhAQxePpiNZzfyeNXHmdZ9GkU87hzA0pWYCJ9+yqaFq4gcHUMR71DOnWvAk0/+g5eXp+0slkQ++OsDvt/xPeUKluPvQX9To5iNCWm3b4d+/Ywz0nXr4MEHzbdT5HoSHMU9cTniMqN3jmac/ziSLElMfnwyzzzwTMY6Xk6cwPLCS4wv7Eb1cQfJrywcPNidYcOW3nEtq41nN/LKmlc4EniEZ+o/w48df6Sge8Hbd1y40JhIokwZY17GJk1u30fkKRIcRaabsm8Kw1YOI0kn0aVqF3559JeMrfdy6RKMGsWMrRdJePEaNaocJCnJBTe36bzyiu1nm/0v+/P11q9Z/N9iKhauyKJexmX0bcE5LMxY2mDiRGjWDP74A4pm8HlucV+Q4CgyTURcBB9s/IBfdv9CW7+2jH10LLWK1zJfoNYwdSprXlzKn/3K8/jolYAmKqo0zZv/TdGiVW7LcjXyKiM3j2Sc/zi83bz5pM0nvNvyXdxdbJxabt0KgwfDmTPw1lvGhLUy9ZiwkuAoMiwhKYEZB2bwxT9fcC70HCMajuDnR3++uZSAGfHxXB3+Mb9ZrtF65Vq6uiSSkOBGxYqrqVTp9k6SsNgwvt76NT/v+pn4pHheavwSo9qPsv0oYmSkMXnEmDHG0y5btkDLlubbKu5LEhyFaUmWJJYfX867G97lZPBJ6pWox8anN9KuQruMFbx6NZZ33mPOU8V4qMVfJCS44eLyHA8+OJJ8+W4dphMVH8WkvZMYuXkkobGh9K3Tl8/afkblIpVtl71xIzzzDJw/Dy++CF9/DV5eGWuvuC9JcBQOi0uMY9LeSfy440fOhp6luk91lvReQrfq3W6dxcZRFgt88AHr5m7mxshoGpT7i8jIYnTseAJX10K37Hr8xnGm7p/KxD0TCYkNoZ1fO77r8B0NSzW0XXZwMLz+OsyYAZUrw99/Q9u25tsq7nsSHIVdEi2JbDq3iWXHljHv8DyCYoJoUbYF33b4lu7Vu+PilIGvktawbBkHfh7PlkdiqTVlJ6WU5urVBnTtujQlMCZZklh0dBFfbf2KA9cOANC1WlfefvBtWpS7w6OCwcEwaRJ8/73R+fLWW/Dpp+Bpe9iPEMkkOIq7Co8LZ/7h+fy480eO3TiGh4sHXap2YUSjEbTza5fxZ6J372bXnBcIbHeK/J+EUUdBTIw3xYtPoV27ngCExISw+L/FfL/9e44HHaeGTw1+efQXulbrSrmC5W4vU2s4fBgmTIDp0417jO3aGQGyQYOMtVfkGRIchU0ngk4w7t9xzDg4g+CYYCoXqczcnnN5rMpjGZ9vEbD472XdpB9I6rQar+6heFoUFy/WpVixT3n00R6cCDrBN1u/YfWp1ewI2EGCJYG6Jeqy4MkF9KzZ0/ble3g4LFoEP/8MBw8aa0g/9RS89poEReEwCY4ixY3oG8w8MJMZB2ew/+p+XJ1c6V69O883ep7W5Vvf/gyyo0JCiJ+ziLF/HKPU04vx7XsereHYsQepVGkVLbuEMP/IfN6f0IB9V/cBUN+3Pq81e40e1XvQrEwz2+MU166F1auNVQATEowFr377Dbp1g1KlMtZmkWcprXV2tyFdjRo10v7+/tndjPuS/2V/FhxZwI6LO9gRsIMknUTjUo3pVbMXA+oOoGSBkplQiT+7PvqDGa7xdBw6Hm/vELSGq1frc9n5Bc7k38+Gsxs4EXQCgGZlmvFkjSfpU7sPZbxtLG2gNfj7G50rM2caAbJQIeja1ZhJ5+GHwUkmuRfpU0rt0Vo3srlNgmPeczniMnMPzWX2odnsu7oPZ+VMw1INaV6mOYPqDaK+b/2M30vUmnUfbWaR/x4aPj6PKtX34eychMXixMmAmvx+JYl/4/4DwNPVk7Z+belYqSOdq3S+fRhObKyxfsu+ffDvv8bjfefOGZfNjz5qdLI0awYuciEkHJMpwVEp1Rb4HqgJ+ANDtNanHWzIk8BIwA/YADyrtQ5ML58ER/Ms2sJfZ/7C/7I/R28cZc/lPRy7cQyNpnGpxvSv05/+dfvj43nnab7slpREwI4LfDF2E7WaT6FGzd24usajNYSEF+ZAkCtjrlynaIFKNC3TlDbl29CkdBNqFauFq7OrUUZYGOzfbwTC5NfRo8bEswAFC0KbNtC5s3E/saCN56SFsFOGg6NSqjHwD3AS+B3oAfgCdbXWcXY2ohuwFNgGLAKGAKFa67bp5ZXgaJ/wuHA2n9vM7ku7CQgP4EjgEU4FnyI0NhSA4vmL07R0UxqWbEjfOn2pWrSqQ+VrrQmKCeJS+CUuhl4g8vBerq2/gMXpGm6VblC8wnkKFb6Os7MFrSEq0pvdN5w46FQS36KteaTSI7Qu3xof5wJw4QIcOWK8jh41np++eBFOp/p7W7IkPPCA8WrQwHj385NV/0SmyYzguAmoDtTUWgcrpfIDp4BRWutf7MivgNNAJNBEax2rlCoFnAF6aa1X3i1/Xg2OSZYkgmOCiYiPIDI+kpCYEIJiggiKDiIoJogrEVe4GHGRC2EXuBB2getR1wFwVs6U8CpBDZ8aVC1alZblWtK1Wle88t36JIjWmrC4MAKjArkedZ3LEZe5EnmF0NhQouKjCIk16rsRGkLi4WgqRDpTwduL4qUiKFLyGgULB5E/f1hKrEpMcCU0pDhhQWUp5V2PaonVKROmyXf5GgQEGM8wHz1q9CqnVr688fL1hXr1bgZEX9+s+JhFHpah4KiUKgzcAL7VWr+XKv0noI7W+mE7GlAP2A+M0FpPSJW+FAjSWg+9W/5ypbz1m8+mmUJKaeDWMwilrMeiQafalpJubLot7dYNttqvsfkxpS0jVbmp9zf+abm1Op06v06TbrGmpCpEadBpjxeUUtYmKxQKJ1SqY7O2W2tU6rKMDwitFYlOruTzjCOfZyz5PGJxcU3AxTUeN/cYXPPF4+ISj7NzEkpZbjlhs1iciIvxIC6sIHH+5Xngj2Cqnj1tzLeYlqsrlC5tnPXVqmX0IJcsafy7Rg0okPGhQUKYcbfgaM8d7BoY61tvTZN+ELA9X9TtkqdmsVWGzeXhlFLDgGEAVatC3fZ/2VmVMENbg6XWTlgsTiQluhIf70Z0hDdJsflIDHMn5nwxfM9pml8KpkiSl/GUiYcHFC4MjzQA7yfA2xuKFQMfHyMIli0LxYtL77HIdewJjoWs7+fSpAcCPkopd611bAbKKGsrg9Z6IjARoHwpX31i09M29lE4kebsTd0ci5dypqO45STs5lnnreP2FGnPKBXJp5JaK9KOO1bW7Sl5FDjjgpOTC85K4aRccHF2xtlJpSrrZpnG2ZxK01hwdgLj79HNVhiNMNqglAsuygmlnHBWCqVcjbNIZwVOLuDiDM6u4OwMzk44uThZf771AJyAsmUUvkV9cXHxvrnBxcWYusvF5eZLgpvIY+wJjsn/N6PTpCcHxAKp/p1eGTE2ykj3mqpYqTIM+/Tb9HYTQohMY8/pQHLgS3s3LvlnNzvL0DbqU3bmF0KILGVPcLxqfU97+Zs8MC7CzjIUUNpGGfbkF0KILGVPcDyJcTncPE16AyBGax1mRxkHre+2yriKEELkMOkGR611PLAeGKKUcgdQSrkCfYDN9lSitQ4ADgDDrWMeUUoVBR4FNplquRBC3EP2dkF+A1QG5iulOgGLMS6zxwEopZpbHw28m1FAW2CitYyVgDswyUS7hRDinrLrSX2t9Q6l1CBgPNAVY0TzSK31Cusuw4EuGI8F3qmMBUopP+BLYCgQB7ygtd5rvvlCCHFvODQrj/VSuAlwUmt9ylSFSpUG6gEHtNaX7MmTVx8fFELcWxl9QiaF1joIWJORxlgDol1BUQghsos89iCEEDZIcBRCCBtyxUzgSqkI4Hh2tyMb+WDMjJSX5fXPQI7/3hx/ea11MVsbcsu88sfvdNM0L1BK+efl4wf5DOT4s/745bJaCCFskOAohBA25JbgODG7G5DN8vrxg3wGcvxZLFd0yAghRFbLLWeOQgiRpSQ4CiGEDVkWHJVSbZVS/kqpaKXUFqVUJRNlPKmUOmotY4VS6rbxSfbskx0yevxKKQ+l1Gil1FWlVIJS6pRS6ok0+zyolNI2Xh9m7tE4LhOO365jy6m/f8jYZ6CUGnyH409++Vn3y7HfAQClVDGlVIBSqq3J/FkWA7IkOCqlGgNrMZZEeB9jyYTVSim7l0hQSnUDFgBBwHtAOWCho/tkh8w4fmAC8DwwH3gRYw3whUqppqn2aYixaNnANK9lGTyEDMmk40/32HLq7x8y5TPYwu3HPhBYCoRzc4B0jvwOgPEHHuP3U8Zk/qyNAVrre/7CmND2KlDE+nN+4Arwsp35FXAGY0Zxd2taKYy1aR63d5/semXC8dfF+M/ULVVacSAeGJ8qbTrwR3Ye6704fnuOLSf//jPrM7BRphsQAHySC74DRYHtGJPOaKCtg/mzPAbc8zNHpVRhoBUwVWsdDKC1jgLmAd3sLKYuUAH4VVuXgdVaX8aYIaibA/tkuUw6fg28rrVenpKg9XXgOpD6kqERxhcwx8ik44f0jy1H/v4hUz+DtIYBnsBPqdJy3HfAagCQiDEfrBlZHgOy4rK6hrWerWnSD2LM62iPWtb3u5Vhzz7ZIcPHr7U+pLUenTpNKeWL8VfxiPVnL6A68Jj1vmSUUmqjUqpJBtufURk+fjuPLaf+/iFz/g/cQinlArwN/Ky1Drem5dTvAMAKoB3G5a4ZWR4DsiI4FrK+n0uTHgj4KOu6NBkoo6wD+2SHQtb3c2nSHTl+W17HmJF9jvXnRhi/T0+MZS0+AfyAjUqpiibryAyFrO/n0qQ7cvz2HNvd6snO3z/cm+9AD6AEtw6OzqnfAbTWZ7XWSRkoopD1/Vya9HsWA7IiOCavbx2dJj15PewCDpQRY6OMAg7skx0y4/hvLVCpasDLwAyt9TFrciDwDtBMa/2T1vp7jEs5BbzgcKszT2Ycvz3HllN//3APvgPAS8BirXXq1Ttz6ncgM2R5DMiKWXmSvwAqTXryz/b01sVi3HdzwjhbSl2GmwP7ZIfMOP6bmZRyBqYBIcCbyela6yNYL7FTpV1SSm3EuJzJLhk+fjuPLaf+/iHzvwNVgNbAI6nTc/B3IDNkeQzIijPH5L9saU9rfazvEXaWoYDSNsqIcGCf7JAZx5/a5xjr+AxMvrmfjmjA18E6MlNmH39qqY8tp/7+IfM/gz4Yfxz/tnP/7P4OZIYsjwFZERxPYpzmNk+T3gCI0VqH2VHGQeu7rTKuOrBPdsiM4wdAKdUDeBf4VGu9Mc22N5RSb9jIVofsnSQ1w8dv57Hl1N8/ZOJ3wKoPsEJrnZg6MQd/BzJD1seALBrjtAxjJu/ksUeuwAVgjQNl7Mf4S5k8WUZRjIHQ4xzZJztemXT8zYAojF4/ZWP798A1oHCqtL4Ylxnf5ubjt/fYcurvP7O+A9Z8ftbjfio3fQdstL+tibxZGgOy6gNpDiQBy4FO1v/gGuiaavuT6ZTR25pnkrWM7Rjjpho4sk82fSEydPxAPoweuDiMp2MGpHp1T/WliwROAKMxxtAlYAyKLZbLj9+uY8upv//M+j9g3e8Za75yZj+nbP4c/LARHHNiDMjKD2WA9RenrV+Sz1JtmwbcsKOMt62/bI1x83WYmX2y6Uth+vgxLgv0HV7nUu3XGPgH4xLuMjAW8M7uY8+M37+9x5ZTf/+Z8RlY95sJXMzo55SNn8GdgmOOiwFZOp+jUqooRmfCSa31KZNllMYY0HlAG2tgm9onO2TG8edmWXX8OfX3D/IdyAxZFQNkslshhLBB5nMUQggbJDgKIYQNEhyFEMIGCY5CCGGDBEchhLBBgqMQQtjwf3nmpT1FLapCAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.font_manager as fm\n",
    "import matplotlib\n",
    "matplotlib.rcParams['font.sans-serif']=['SimHei']   \n",
    "matplotlib.rcParams['axes.unicode_minus']=False  \n",
    "font={'family':'SimHei',\"size\":18}\n",
    "matplotlib.rc(\"font\",**font)\n",
    "fig=plt.figure(figsize=(5,5))\n",
    "plt.title('KS曲线')\n",
    "plt.plot(1 - thresholds_1,tpr_1,color='g',label='TPR')\n",
    "plt.plot(1 - thresholds_1,fpr_1,color='g',label='FPR')\n",
    "plt.plot(1 - thresholds_2,tpr_2,color='r',label='TPR')\n",
    "plt.plot(1 - thresholds_2,fpr_2,color='r',label='FPR')\n",
    "plt.plot(1 - thresholds_3,tpr_3,color='b',label='TPR')\n",
    "plt.plot(1 - thresholds_3,tpr_3,color='b',label='FPR')\n",
    "plt.plot(1 - thresholds_4,tpr_4,color='y',label='TPR')\n",
    "plt.plot(1 - thresholds_4,tpr_4,color='y',label='FPR')\n",
    "plt.xlim(0,)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "27cad154",
   "metadata": {},
   "source": [
    "# 模型验证"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "86c51ce0",
   "metadata": {},
   "source": [
    "## 5折交叉检验"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "f969293d",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[08:14:50] WARNING: C:/Users/Administrator/workspace/xgboost-win64_release_1.4.0/src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[08:14:58] WARNING: C:/Users/Administrator/workspace/xgboost-win64_release_1.4.0/src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[08:15:05] WARNING: C:/Users/Administrator/workspace/xgboost-win64_release_1.4.0/src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[08:15:12] WARNING: C:/Users/Administrator/workspace/xgboost-win64_release_1.4.0/src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "[08:15:20] WARNING: C:/Users/Administrator/workspace/xgboost-win64_release_1.4.0/src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>准确率均值</th>\n",
       "      <th>准确率标准差</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>xgboost</th>\n",
       "      <td>0.758485</td>\n",
       "      <td>0.000797</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            准确率均值    准确率标准差\n",
       "xgboost  0.758485  0.000797"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#ef muti_score(model):\n",
    "warnings.filterwarnings('ignore')\n",
    "accuracy = cross_val_score(xgboost_model, x_train, y_train, scoring='accuracy', cv=5)\n",
    "acc_mean=accuracy.mean()\n",
    "acc_std=accuracy.std()\n",
    "results = pd.DataFrame()\n",
    "results[\"准确率均值\"] = [acc_mean]\n",
    "results[\"准确率标准差\"] = [acc_std]\n",
    "results.index = ['xgboost']\n",
    "results\n",
    "#rint(\"准确率均值\",accuracy.mean())\n",
    "#rint(\"准确率方差\",accuracy.var())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bdc5b97c",
   "metadata": {},
   "source": [
    "# 模型PSI的计算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "a2768519",
   "metadata": {},
   "outputs": [],
   "source": [
    "def cal_psi(actual, predict, bins=10):\n",
    "    actual_min = actual.min()  # 实际中的最小概率\n",
    "    actual_max = actual.max()  # 实际中的最大概率\n",
    "    binlen = (actual_max - actual_min) / bins\n",
    "    cuts = [actual_min + i * binlen for i in range(1, bins)]#设定分组\n",
    "    cuts.insert(0, -float(\"inf\"))\n",
    "    cuts.append(float(\"inf\"))\n",
    "    actual_cuts = np.histogram(actual, bins=cuts)#将actual等宽分箱\n",
    "    predict_cuts = np.histogram(predict, bins=cuts)#将predict按actual的分组等宽分箱\n",
    "    actual_df = pd.DataFrame(actual_cuts[0],columns=['actual'])\n",
    "    predict_df = pd.DataFrame(predict_cuts[0], columns=['predict'])\n",
    "    psi_df = pd.merge(actual_df,predict_df,right_index=True,left_index=True)\n",
    "    psi_df['actual_rate'] = (psi_df['actual'] + 1) / psi_df['actual'].sum()#计算占比，分子加1，防止计算PSI时分子分母为0\n",
    "    psi_df['predict_rate'] = (psi_df['predict'] + 1) / psi_df['predict'].sum()\n",
    "    psi_df['psi'] = (psi_df['actual_rate'] - psi_df['predict_rate']) * np.log(\n",
    "        psi_df['actual_rate'] / psi_df['predict_rate'])\n",
    "    psi = psi_df['psi'].sum()\n",
    "    return psi, psi_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "cda13ce8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.0036686896121680616,\n",
       "    actual  predict  actual_rate  predict_rate       psi\n",
       " 0   32040     4284     0.123164      0.127458  0.000147\n",
       " 1   63586     8440     0.244425      0.251078  0.000179\n",
       " 2   61332     8107     0.235761      0.241173  0.000123\n",
       " 3   45251     5944     0.173946      0.176835  0.000048\n",
       " 4   28427     3539     0.109276      0.105298  0.000148\n",
       " 5   16222     1929     0.062360      0.057408  0.000410\n",
       " 6    8285      900     0.031851      0.026800  0.000872\n",
       " 7    3710      377     0.014265      0.011244  0.000719\n",
       " 8    1181       89     0.004544      0.002677  0.000987\n",
       " 9     115       10     0.000446      0.000327  0.000037)"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "psi_values11=cal_psi(y_proba[:,1], y_proba_1[:,1],10)\n",
    "psi_values11"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "b069418a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.09068244126536731,\n",
       "    actual  predict  actual_rate  predict_rate       psi\n",
       " 0   32040     4918     0.123164      0.146421  0.004023\n",
       " 1   63586     7916     0.244425      0.235660  0.000320\n",
       " 2   61332     9431     0.235761      0.280756  0.007859\n",
       " 3   45251     6377     0.173946      0.189850  0.001391\n",
       " 4   28427     3187     0.109276      0.094895  0.002029\n",
       " 5   16222     1225     0.062360      0.036494  0.013859\n",
       " 6    8285      491     0.031851      0.014645  0.013368\n",
       " 7    3710       48     0.014265      0.001459  0.029203\n",
       " 8    1181        2     0.004544      0.000089  0.017503\n",
       " 9     115        0     0.000446      0.000030  0.001126)"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "psi_values12=cal_psi(y_proba[:,1], y_proba_2[:,1],10)\n",
    "psi_values12"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "25faa662",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.1013683402701576,\n",
       "    actual  predict  actual_rate  predict_rate       psi\n",
       " 0   32040     5033     0.123164      0.148970  0.004909\n",
       " 1   63586     7958     0.244425      0.235529  0.000330\n",
       " 2   61332     9464     0.235761      0.280096  0.007639\n",
       " 3   45251     6458     0.173946      0.191140  0.001621\n",
       " 4   28427     3116     0.109276      0.092241  0.002887\n",
       " 5   16222     1255     0.062360      0.037169  0.013036\n",
       " 6    8285      468     0.031851      0.013879  0.014929\n",
       " 7    3710       40     0.014265      0.001213  0.032165\n",
       " 8    1181        0     0.004544      0.000030  0.022723\n",
       " 9     115        0     0.000446      0.000030  0.001129)"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "psi_values13=cal_psi(y_proba[:,1], y_proba_3[:,1],10)\n",
    "psi_values13"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "be43e71c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.10021927372310642,\n",
       "    actual  predict  actual_rate  predict_rate       psi\n",
       " 0   32040     5045     0.123164      0.150443  0.005458\n",
       " 1   63586     7838     0.244425      0.233714  0.000480\n",
       " 2   61332     9325     0.235761      0.278048  0.006976\n",
       " 3   45251     6472     0.173946      0.192988  0.001978\n",
       " 4   28427     3112     0.109276      0.092812  0.002689\n",
       " 5   16222     1263     0.062360      0.037685  0.012428\n",
       " 6    8285      440     0.031851      0.013148  0.016548\n",
       " 7    3710       46     0.014265      0.001401  0.029849\n",
       " 8    1181        0     0.004544      0.000030  0.022688\n",
       " 9     115        0     0.000446      0.000030  0.001126)"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "psi_values14=cal_psi(y_proba[:,1], y_proba_4[:,1],10)\n",
    "psi_values14"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "401a0ded",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.07398468621769985"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bcc2=[psi_values11[0],psi_values12[0],psi_values13[0],psi_values14[0]]\n",
    "bbc2=np.mean(bcc2)\n",
    "bbc2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "96c114a6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PSI</th>\n",
       "      <th>PSI_1</th>\n",
       "      <th>PSI_2</th>\n",
       "      <th>PSI_3</th>\n",
       "      <th>PSI_4</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>XGBoost</th>\n",
       "      <td>0.073985</td>\n",
       "      <td>0.003669</td>\n",
       "      <td>0.090682</td>\n",
       "      <td>0.101368</td>\n",
       "      <td>0.100219</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              PSI     PSI_1     PSI_2     PSI_3     PSI_4\n",
       "XGBoost  0.073985  0.003669  0.090682  0.101368  0.100219"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results111 =pd.DataFrame({'PSI':{'XGBoost':bbc2},'PSI_1':{'XGBoost':psi_values11[0]},'PSI_2':{'XGBoost':psi_values12[0]},\n",
    "                   'PSI_3':{'XGBoost':psi_values13[0]},'PSI_4':{'XGBoost':psi_values14[0]}})\n",
    "results111"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9d6d8d9f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e6ed3c7d",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "99a0f891",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "288px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
